{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.snkFhYLF/b1/rustc-web_1.78.0+dfsg1-2~deb12u3_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.snkFhYLF/b2/rustc-web_1.78.0+dfsg1-2~deb12u3_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,18 +1,18 @@\n \n 9341158ddc09baa8d8fa7dcd0e433653 66934500 debug optional cargo-web-dbgsym_1.78.0+dfsg1-2~deb12u3_amd64.deb\n a18480fbacd18f0e9ded738a713fa6ee 4104568 doc optional cargo-web-doc_1.78.0+dfsg1-2~deb12u3_all.deb\n 12fa4f6edc60a7d3fe4369025d29d25f 6104840 devel optional cargo-web_1.78.0+dfsg1-2~deb12u3_amd64.deb\n c3bfdd1a05c57003ceb9d3fa2cf5d24e 231766268 debug optional libstd-rust-web-1.78-dbgsym_1.78.0+dfsg1-2~deb12u3_amd64.deb\n ce9f3e8ece6769ac93e4b2133856e7da 19605860 libs optional libstd-rust-web-1.78_1.78.0+dfsg1-2~deb12u3_amd64.deb\n- c47c1789c944761d8daa58379ddea6f9 41755692 libdevel optional libstd-rust-web-dev-windows_1.78.0+dfsg1-2~deb12u3_amd64.deb\n+ 57e970f0441459184c9b020b36a2ff82 41756300 libdevel optional libstd-rust-web-dev-windows_1.78.0+dfsg1-2~deb12u3_amd64.deb\n d6a52cd71f34a7dae3c1ef530b8dfc75 37240536 libdevel optional libstd-rust-web-dev_1.78.0+dfsg1-2~deb12u3_amd64.deb\n e6b17ff62e8f518e68116b6c8a6aca6f 49661392 debug optional rust-web-clippy-dbgsym_1.78.0+dfsg1-2~deb12u3_amd64.deb\n ddbbe1990abd28c44f2080beb432ffc4 2629040 devel optional rust-web-clippy_1.78.0+dfsg1-2~deb12u3_amd64.deb\n- d9087ec5244ec15ceee7c3a7c3e4d863 20197408 doc optional rust-web-doc_1.78.0+dfsg1-2~deb12u3_all.deb\n+ 81fa4f181d2f52497c5d53a697afd0cd 20034604 doc optional rust-web-doc_1.78.0+dfsg1-2~deb12u3_all.deb\n 01c40e2d9b7a3b468d95804c0414fe8c 225528 devel optional rust-web-gdb_1.78.0+dfsg1-2~deb12u3_all.deb\n 574d84dcae44861fd1830c230fc278e2 225740 devel optional rust-web-lldb_1.78.0+dfsg1-2~deb12u3_all.deb\n 8416b90db1a1c047c5277c7fde636bd7 21434860 devel optional rust-web-src_1.78.0+dfsg1-2~deb12u3_all.deb\n 748bf967708f46d98f2d0a34fc67b7e4 28614052 debug optional rustc-web-dbgsym_1.78.0+dfsg1-2~deb12u3_amd64.deb\n 5f59754b5010e24d510949183922c3d6 3237360 devel optional rustc-web_1.78.0+dfsg1-2~deb12u3_amd64.deb\n e2f5c19e6bc656825a484ba52e47b39b 21707264 debug optional rustfmt-web-dbgsym_1.78.0+dfsg1-2~deb12u3_amd64.deb\n b4d53fe56e4cdeaa6c9f353d83825fd8 2061132 devel optional rustfmt-web_1.78.0+dfsg1-2~deb12u3_amd64.deb\n"}, {"source1": "libstd-rust-web-dev-windows_1.78.0+dfsg1-2~deb12u3_amd64.deb", "source2": "libstd-rust-web-dev-windows_1.78.0+dfsg1-2~deb12u3_amd64.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2024-08-28 14:44:23.000000 debian-binary\n -rw-r--r-- 0 0 0 2356 2024-08-28 14:44:23.000000 control.tar.xz\n--rw-r--r-- 0 0 0 41753144 2024-08-28 14:44:23.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 41753752 2024-08-28 14:44:23.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "./usr/lib/rustlib/x86_64-pc-windows-gnu/lib/libstd-77bb723fc58ce3d1.rlib", "source2": "./usr/lib/rustlib/x86_64-pc-windows-gnu/lib/libstd-77bb723fc58ce3d1.rlib", "unified_diff": null, "details": [{"source1": "nm -s {}", "source2": "nm -s {}", "comments": ["error from `nm -s {}`:", "nm: std-77bb723fc58ce3d1.std.9f917a5e7a74ff1-cgu.00.rcgu.o: no symbols", "nm: std-77bb723fc58ce3d1.std.9f917a5e7a74ff1-cgu.01.rcgu.o: no symbols", "nm: std-77bb723fc58ce3d1.std.9f917a5e7a74ff1-cgu.02.rcgu.o: no symbols", "nm: std-77bb723fc58ce3d1.std.9f917a5e7a74ff1-cgu.03.rcgu.o: no symbols", "nm: std-77bb723fc58ce3d1.std.9f917a5e7a74ff1-cgu.04.rcgu.o: no symbols", "nm: std-77bb723fc58ce3d1.std.9f917a5e7a74ff1-cgu.05.rcgu.o: no symbols", "nm: std-77bb723fc58ce3d1.std.9f917a5e7a74ff1-cgu.06.rcgu.o: no symbols", "nm: std-77bb723fc58ce3d1.std.9f917a5e7a74ff1-cgu.07.rcgu.o: no symbols", "nm: std-77bb723fc58ce3d1.std.9f917a5e7a74ff1-cgu.08.rcgu.o: no symbols", "nm: std-77bb723fc58ce3d1.std.9f917a5e7a74ff1-cgu.09.rcgu.o: no symbols", "nm: std-77bb723fc58ce3d1.std.9f917a5e7a74ff1-cgu.10.rcgu.o: no symbols", "nm: std-77bb723fc58ce3d1.std.9f917a5e7a74ff1-cgu.11.rcgu.o: no symbols", "nm: std-77bb723fc58ce3d1.std.9f917a5e7a74ff1-cgu.12.rcgu.o: no symbols", "nm: std-77bb723fc58ce3d1.std.9f917a5e7a74ff1-cgu.13.rcgu.o: no symbols", "nm: std-77bb723fc58ce3d1.std.9f917a5e7a74ff1-cgu.14.rcgu.o: no symbols", "nm: std-77bb723fc58ce3d1.std.9f917a5e7a74ff1-cgu.15.rcgu.o: no symbols"], "unified_diff": "@@ -2290,20 +2290,20 @@\n __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.104.llvm.10386673973210777259 in std-77bb723fc58ce3d1.std.9f917a5e7a74ff1-cgu.15.rcgu.o\n __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.106.llvm.10386673973210777259 in std-77bb723fc58ce3d1.std.9f917a5e7a74ff1-cgu.15.rcgu.o\n __imp__ZN3std3sys3pal7windows4time12perf_counter9frequency9FREQUENCY17hb6767d30e4f028d6E.0.llvm.10386673973210777259 in std-77bb723fc58ce3d1.std.9f917a5e7a74ff1-cgu.15.rcgu.o\n __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.107.llvm.10386673973210777259 in std-77bb723fc58ce3d1.std.9f917a5e7a74ff1-cgu.15.rcgu.o\n _ZN4core3ptr117drop_in_place$LT$std..sys_common..backtrace.._print_fmt..$u7b$$u7b$closure$u7d$$u7d$..$u7b$$u7b$closure$u7d$$u7d$$GT$17hc088a82a0fb7ebbfE.llvm.10386673973210777259 in std-77bb723fc58ce3d1.std.9f917a5e7a74ff1-cgu.15.rcgu.o\n _ZN4core3ptr24drop_in_place$LT$i64$GT$17h92640e010cd0fa93E.llvm.10386673973210777259 in std-77bb723fc58ce3d1.std.9f917a5e7a74ff1-cgu.15.rcgu.o\n _ZN3std3env7vars_os17h3b0b2c18e0b600f6E in std-77bb723fc58ce3d1.std.9f917a5e7a74ff1-cgu.15.rcgu.o\n-___tmp_rustcEEj9Ch_bcryptprimitives_lib_iname in bcryptprimitives.dllt.o\n-_head__tmp_rustcEEj9Ch_bcryptprimitives_lib in bcryptprimitives.dllh.o\n+___tmp_rustcRtCTVS_bcryptprimitives_lib_iname in bcryptprimitives.dllt.o\n+_head__tmp_rustcRtCTVS_bcryptprimitives_lib in bcryptprimitives.dllh.o\n ProcessPrng in bcryptprimitives.dlls00000.o\n __imp_ProcessPrng in bcryptprimitives.dlls00000.o\n-___tmp_rustcEEj9Ch_api_ms_win_core_synch_l1_2_0_lib_iname in api-ms-win-core-synch-l1-2-0.dllt.o\n-_head__tmp_rustcEEj9Ch_api_ms_win_core_synch_l1_2_0_lib in api-ms-win-core-synch-l1-2-0.dllh.o\n+___tmp_rustcRtCTVS_api_ms_win_core_synch_l1_2_0_lib_iname in api-ms-win-core-synch-l1-2-0.dllt.o\n+_head__tmp_rustcRtCTVS_api_ms_win_core_synch_l1_2_0_lib in api-ms-win-core-synch-l1-2-0.dllh.o\n WakeByAddressSingle in api-ms-win-core-synch-l1-2-0.dlls00002.o\n __imp_WakeByAddressSingle in api-ms-win-core-synch-l1-2-0.dlls00002.o\n WakeByAddressAll in api-ms-win-core-synch-l1-2-0.dlls00001.o\n __imp_WakeByAddressAll in api-ms-win-core-synch-l1-2-0.dlls00001.o\n WaitOnAddress in api-ms-win-core-synch-l1-2-0.dlls00000.o\n __imp_WaitOnAddress in api-ms-win-core-synch-l1-2-0.dlls00000.o\n \n@@ -2361,89 +2361,89 @@\n bcryptprimitives.dllt.o:\n 0000000000000000 b .bss\n 0000000000000000 d .data\n 0000000000000000 i .idata$4\n 0000000000000000 i .idata$5\n 0000000000000000 i .idata$7\n 0000000000000000 t .text\n-0000000000000000 I ___tmp_rustcEEj9Ch_bcryptprimitives_lib_iname\n+0000000000000000 I ___tmp_rustcRtCTVS_bcryptprimitives_lib_iname\n \n bcryptprimitives.dllh.o:\n 0000000000000000 b .bss\n 0000000000000000 d .data\n 0000000000000000 i .idata$2\n 0000000000000000 i .idata$4\n 0000000000000000 i .idata$5\n 0000000000000000 t .text\n- U ___tmp_rustcEEj9Ch_bcryptprimitives_lib_iname\n-0000000000000000 I _head__tmp_rustcEEj9Ch_bcryptprimitives_lib\n+ U ___tmp_rustcRtCTVS_bcryptprimitives_lib_iname\n+0000000000000000 I _head__tmp_rustcRtCTVS_bcryptprimitives_lib\n 0000000000000000 i fthunk\n 0000000000000000 i hname\n \n bcryptprimitives.dlls00000.o:\n 0000000000000000 b .bss\n 0000000000000000 d .data\n 0000000000000000 i .idata$4\n 0000000000000000 i .idata$5\n 0000000000000000 i .idata$6\n 0000000000000000 i .idata$7\n 0000000000000000 t .text\n 0000000000000000 T ProcessPrng\n 0000000000000000 I __imp_ProcessPrng\n- U _head__tmp_rustcEEj9Ch_bcryptprimitives_lib\n+ U _head__tmp_rustcRtCTVS_bcryptprimitives_lib\n \n api-ms-win-core-synch-l1-2-0.dllt.o:\n 0000000000000000 b .bss\n 0000000000000000 d .data\n 0000000000000000 i .idata$4\n 0000000000000000 i .idata$5\n 0000000000000000 i .idata$7\n 0000000000000000 t .text\n-0000000000000000 I ___tmp_rustcEEj9Ch_api_ms_win_core_synch_l1_2_0_lib_iname\n+0000000000000000 I ___tmp_rustcRtCTVS_api_ms_win_core_synch_l1_2_0_lib_iname\n \n api-ms-win-core-synch-l1-2-0.dllh.o:\n 0000000000000000 b .bss\n 0000000000000000 d .data\n 0000000000000000 i .idata$2\n 0000000000000000 i .idata$4\n 0000000000000000 i .idata$5\n 0000000000000000 t .text\n- U ___tmp_rustcEEj9Ch_api_ms_win_core_synch_l1_2_0_lib_iname\n-0000000000000000 I _head__tmp_rustcEEj9Ch_api_ms_win_core_synch_l1_2_0_lib\n+ U ___tmp_rustcRtCTVS_api_ms_win_core_synch_l1_2_0_lib_iname\n+0000000000000000 I _head__tmp_rustcRtCTVS_api_ms_win_core_synch_l1_2_0_lib\n 0000000000000000 i fthunk\n 0000000000000000 i hname\n \n api-ms-win-core-synch-l1-2-0.dlls00002.o:\n 0000000000000000 b .bss\n 0000000000000000 d .data\n 0000000000000000 i .idata$4\n 0000000000000000 i .idata$5\n 0000000000000000 i .idata$6\n 0000000000000000 i .idata$7\n 0000000000000000 t .text\n 0000000000000000 T WakeByAddressSingle\n 0000000000000000 I __imp_WakeByAddressSingle\n- U _head__tmp_rustcEEj9Ch_api_ms_win_core_synch_l1_2_0_lib\n+ U _head__tmp_rustcRtCTVS_api_ms_win_core_synch_l1_2_0_lib\n \n api-ms-win-core-synch-l1-2-0.dlls00001.o:\n 0000000000000000 b .bss\n 0000000000000000 d .data\n 0000000000000000 i .idata$4\n 0000000000000000 i .idata$5\n 0000000000000000 i .idata$6\n 0000000000000000 i .idata$7\n 0000000000000000 t .text\n 0000000000000000 T WakeByAddressAll\n 0000000000000000 I __imp_WakeByAddressAll\n- U _head__tmp_rustcEEj9Ch_api_ms_win_core_synch_l1_2_0_lib\n+ U _head__tmp_rustcRtCTVS_api_ms_win_core_synch_l1_2_0_lib\n \n api-ms-win-core-synch-l1-2-0.dlls00000.o:\n 0000000000000000 b .bss\n 0000000000000000 d .data\n 0000000000000000 i .idata$4\n 0000000000000000 i .idata$5\n 0000000000000000 i .idata$6\n 0000000000000000 i .idata$7\n 0000000000000000 t .text\n 0000000000000000 T WaitOnAddress\n 0000000000000000 I __imp_WaitOnAddress\n- U _head__tmp_rustcEEj9Ch_api_ms_win_core_synch_l1_2_0_lib\n+ U _head__tmp_rustcRtCTVS_api_ms_win_core_synch_l1_2_0_lib\n"}, {"source1": "bcryptprimitives.dllt.o", "source2": "bcryptprimitives.dllt.o", "has_internal_linenos": true, "unified_diff": "@@ -30,10 +30,10 @@\n 000001d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................\n 000001e0: 2e69 6461 7461 2435 0000 0000 0500 0000 .idata$5........\n 000001f0: 0301 0800 0000 0000 0000 0000 0000 0000 ................\n 00000200: 0000 0000 2e69 6461 7461 2437 0000 0000 .....idata$7....\n 00000210: 0600 0000 0301 1500 0000 0000 0000 0000 ................\n 00000220: 0000 0000 0000 0000 0000 0000 0400 0000 ................\n 00000230: 0000 0000 0600 0000 0200 3200 0000 5f5f ..........2...__\n-00000240: 5f74 6d70 5f72 7573 7463 4545 6a39 4368 _tmp_rustcEEj9Ch\n+00000240: 5f74 6d70 5f72 7573 7463 5274 4354 5653 _tmp_rustcRtCTVS\n 00000250: 5f62 6372 7970 7470 7269 6d69 7469 7665 _bcryptprimitive\n 00000260: 735f 6c69 625f 696e 616d 6500 s_lib_iname.\n"}, {"source1": "bcryptprimitives.dllh.o", "source2": "bcryptprimitives.dllh.o", "has_internal_linenos": true, "unified_diff": "@@ -32,13 +32,13 @@\n 000001f0: 2432 0000 0000 0400 0000 0301 1400 0000 $2..............\n 00000200: 0300 0000 0000 0000 0000 0000 0000 2e69 ...............i\n 00000210: 6461 7461 2434 0000 0000 0600 0000 0300 data$4..........\n 00000220: 2e69 6461 7461 2435 0000 0000 0500 0000 .idata$5........\n 00000230: 0300 0000 0000 0400 0000 0000 0000 0400 ................\n 00000240: 0000 0200 0000 0000 3000 0000 0000 0000 ........0.......\n 00000250: 0000 0000 0200 5e00 0000 5f68 6561 645f ......^..._head_\n-00000260: 5f74 6d70 5f72 7573 7463 4545 6a39 4368 _tmp_rustcEEj9Ch\n+00000260: 5f74 6d70 5f72 7573 7463 5274 4354 5653 _tmp_rustcRtCTVS\n 00000270: 5f62 6372 7970 7470 7269 6d69 7469 7665 _bcryptprimitive\n 00000280: 735f 6c69 6200 5f5f 5f74 6d70 5f72 7573 s_lib.___tmp_rus\n-00000290: 7463 4545 6a39 4368 5f62 6372 7970 7470 tcEEj9Ch_bcryptp\n+00000290: 7463 5274 4354 5653 5f62 6372 7970 7470 tcRtCTVS_bcryptp\n 000002a0: 7269 6d69 7469 7665 735f 6c69 625f 696e rimitives_lib_in\n 000002b0: 616d 6500 ame.\n"}, {"source1": "bcryptprimitives.dlls00000.o", "source2": "bcryptprimitives.dlls00000.o", "has_internal_linenos": true, "unified_diff": "@@ -32,10 +32,10 @@\n 000001f0: 7461 2436 0000 0000 0700 0000 0300 0000 ta$6............\n 00000200: 0000 0400 0000 0000 0000 0100 0000 0200 ................\n 00000210: 0000 0000 1000 0000 0000 0000 0500 0000 ................\n 00000220: 0200 0000 0000 2200 0000 0000 0000 0000 ......\".........\n 00000230: 0000 0200 4e00 0000 5072 6f63 6573 7350 ....N...ProcessP\n 00000240: 726e 6700 5f5f 696d 705f 5072 6f63 6573 rng.__imp_Proces\n 00000250: 7350 726e 6700 5f68 6561 645f 5f74 6d70 sPrng._head__tmp\n-00000260: 5f72 7573 7463 4545 6a39 4368 5f62 6372 _rustcEEj9Ch_bcr\n+00000260: 5f72 7573 7463 5274 4354 5653 5f62 6372 _rustcRtCTVS_bcr\n 00000270: 7970 7470 7269 6d69 7469 7665 735f 6c69 yptprimitives_li\n 00000280: 6200 b.\n"}, {"source1": "api-ms-win-core-synch-l1-2-0.dllt.o", "source2": "api-ms-win-core-synch-l1-2-0.dllt.o", "has_internal_linenos": true, "unified_diff": "@@ -31,11 +31,11 @@\n 000001e0: 0000 0000 0000 0000 0000 0000 2e69 6461 .............ida\n 000001f0: 7461 2435 0000 0000 0500 0000 0301 0800 ta$5............\n 00000200: 0000 0000 0000 0000 0000 0000 0000 0000 ................\n 00000210: 2e69 6461 7461 2437 0000 0000 0600 0000 .idata$7........\n 00000220: 0301 2100 0000 0000 0000 0000 0000 0000 ..!.............\n 00000230: 0000 0000 0000 0000 0400 0000 0000 0000 ................\n 00000240: 0600 0000 0200 3e00 0000 5f5f 5f74 6d70 ......>...___tmp\n-00000250: 5f72 7573 7463 4545 6a39 4368 5f61 7069 _rustcEEj9Ch_api\n+00000250: 5f72 7573 7463 5274 4354 5653 5f61 7069 _rustcRtCTVS_api\n 00000260: 5f6d 735f 7769 6e5f 636f 7265 5f73 796e _ms_win_core_syn\n 00000270: 6368 5f6c 315f 325f 305f 6c69 625f 696e ch_l1_2_0_lib_in\n 00000280: 616d 6500 ame.\n"}, {"source1": "api-ms-win-core-synch-l1-2-0.dllh.o", "source2": "api-ms-win-core-synch-l1-2-0.dllh.o", "has_internal_linenos": true, "unified_diff": "@@ -32,14 +32,14 @@\n 000001f0: 2432 0000 0000 0400 0000 0301 1400 0000 $2..............\n 00000200: 0300 0000 0000 0000 0000 0000 0000 2e69 ...............i\n 00000210: 6461 7461 2434 0000 0000 0600 0000 0300 data$4..........\n 00000220: 2e69 6461 7461 2435 0000 0000 0500 0000 .idata$5........\n 00000230: 0300 0000 0000 0400 0000 0000 0000 0400 ................\n 00000240: 0000 0200 0000 0000 3c00 0000 0000 0000 ........<.......\n 00000250: 0000 0000 0200 7600 0000 5f68 6561 645f ......v..._head_\n-00000260: 5f74 6d70 5f72 7573 7463 4545 6a39 4368 _tmp_rustcEEj9Ch\n+00000260: 5f74 6d70 5f72 7573 7463 5274 4354 5653 _tmp_rustcRtCTVS\n 00000270: 5f61 7069 5f6d 735f 7769 6e5f 636f 7265 _api_ms_win_core\n 00000280: 5f73 796e 6368 5f6c 315f 325f 305f 6c69 _synch_l1_2_0_li\n-00000290: 6200 5f5f 5f74 6d70 5f72 7573 7463 4545 b.___tmp_rustcEE\n-000002a0: 6a39 4368 5f61 7069 5f6d 735f 7769 6e5f j9Ch_api_ms_win_\n+00000290: 6200 5f5f 5f74 6d70 5f72 7573 7463 5274 b.___tmp_rustcRt\n+000002a0: 4354 5653 5f61 7069 5f6d 735f 7769 6e5f CTVS_api_ms_win_\n 000002b0: 636f 7265 5f73 796e 6368 5f6c 315f 325f core_synch_l1_2_\n 000002c0: 305f 6c69 625f 696e 616d 6500 0_lib_iname.\n"}, {"source1": "api-ms-win-core-synch-l1-2-0.dlls00002.o", "source2": "api-ms-win-core-synch-l1-2-0.dlls00002.o", "has_internal_linenos": true, "unified_diff": "@@ -33,11 +33,11 @@\n 00000200: 0700 0000 0300 0000 0000 0400 0000 0000 ................\n 00000210: 0000 0100 0000 0200 0000 0000 1800 0000 ................\n 00000220: 0000 0000 0500 0000 0200 0000 0000 3200 ..............2.\n 00000230: 0000 0000 0000 0000 0000 0200 6a00 0000 ............j...\n 00000240: 5761 6b65 4279 4164 6472 6573 7353 696e WakeByAddressSin\n 00000250: 676c 6500 5f5f 696d 705f 5761 6b65 4279 gle.__imp_WakeBy\n 00000260: 4164 6472 6573 7353 696e 676c 6500 5f68 AddressSingle._h\n-00000270: 6561 645f 5f74 6d70 5f72 7573 7463 4545 ead__tmp_rustcEE\n-00000280: 6a39 4368 5f61 7069 5f6d 735f 7769 6e5f j9Ch_api_ms_win_\n+00000270: 6561 645f 5f74 6d70 5f72 7573 7463 5274 ead__tmp_rustcRt\n+00000280: 4354 5653 5f61 7069 5f6d 735f 7769 6e5f CTVS_api_ms_win_\n 00000290: 636f 7265 5f73 796e 6368 5f6c 315f 325f core_synch_l1_2_\n 000002a0: 305f 6c69 6200 0_lib.\n"}, {"source1": "api-ms-win-core-synch-l1-2-0.dlls00001.o", "source2": "api-ms-win-core-synch-l1-2-0.dlls00001.o", "has_internal_linenos": true, "unified_diff": "@@ -33,10 +33,10 @@\n 00000200: 0300 0000 0000 0400 0000 0000 0000 0100 ................\n 00000210: 0000 0200 0000 0000 1500 0000 0000 0000 ................\n 00000220: 0500 0000 0200 0000 0000 2c00 0000 0000 ..........,.....\n 00000230: 0000 0000 0000 0200 6400 0000 5761 6b65 ........d...Wake\n 00000240: 4279 4164 6472 6573 7341 6c6c 005f 5f69 ByAddressAll.__i\n 00000250: 6d70 5f57 616b 6542 7941 6464 7265 7373 mp_WakeByAddress\n 00000260: 416c 6c00 5f68 6561 645f 5f74 6d70 5f72 All._head__tmp_r\n-00000270: 7573 7463 4545 6a39 4368 5f61 7069 5f6d ustcEEj9Ch_api_m\n+00000270: 7573 7463 5274 4354 5653 5f61 7069 5f6d ustcRtCTVS_api_m\n 00000280: 735f 7769 6e5f 636f 7265 5f73 796e 6368 s_win_core_synch\n 00000290: 5f6c 315f 325f 305f 6c69 6200 _l1_2_0_lib.\n"}, {"source1": "api-ms-win-core-synch-l1-2-0.dlls00000.o", "source2": "api-ms-win-core-synch-l1-2-0.dlls00000.o", "has_internal_linenos": true, "unified_diff": "@@ -32,11 +32,11 @@\n 000001f0: 7461 2436 0000 0000 0700 0000 0300 0000 ta$6............\n 00000200: 0000 0400 0000 0000 0000 0100 0000 0200 ................\n 00000210: 0000 0000 1200 0000 0000 0000 0500 0000 ................\n 00000220: 0200 0000 0000 2600 0000 0000 0000 0000 ......&.........\n 00000230: 0000 0200 5e00 0000 5761 6974 4f6e 4164 ....^...WaitOnAd\n 00000240: 6472 6573 7300 5f5f 696d 705f 5761 6974 dress.__imp_Wait\n 00000250: 4f6e 4164 6472 6573 7300 5f68 6561 645f OnAddress._head_\n-00000260: 5f74 6d70 5f72 7573 7463 4545 6a39 4368 _tmp_rustcEEj9Ch\n+00000260: 5f74 6d70 5f72 7573 7463 5274 4354 5653 _tmp_rustcRtCTVS\n 00000270: 5f61 7069 5f6d 735f 7769 6e5f 636f 7265 _api_ms_win_core\n 00000280: 5f73 796e 6368 5f6c 315f 325f 305f 6c69 _synch_l1_2_0_li\n 00000290: 6200 b.\n"}]}, {"source1": "./usr/lib/rustlib/x86_64-pc-windows-gnu/lib/std-77bb723fc58ce3d1.dll", "source2": "./usr/lib/rustlib/x86_64-pc-windows-gnu/lib/std-77bb723fc58ce3d1.dll", "unified_diff": null, "details": [{"source1": "objdump", "source2": "objdump", "unified_diff": "@@ -26,15 +26,15 @@\n MajorImageVersion\t0\n MinorImageVersion\t0\n MajorSubsystemVersion\t5\n MinorSubsystemVersion\t2\n Win32Version\t\t00000000\n SizeOfImage\t\t01798000\n SizeOfHeaders\t\t00000600\n-CheckSum\t\t0182e0bb\n+CheckSum\t\t0182a430\n Subsystem\t\t00000003\t(Windows CUI)\n DllCharacteristics\t00000160\n \t\t\t\t\tHIGH_ENTROPY_VA\n \t\t\t\t\tDYNAMIC_BASE\n \t\t\t\t\tNX_COMPAT\n SizeOfStackReserve\t0000000000200000\n SizeOfStackCommit\t0000000000001000\n@@ -36599,507 +36599,507 @@\n [12255](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000740 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.118.llvm.13665133684747362110\n [12256](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000938 __imp_SetWaitableTimer\n [12257](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000318 __imp_anon.2d4ed69d03b8b00b295e2865b118c80a.13.llvm.9587153679006429619\n [12258](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000036e8 anon.941f0f04b36aa440174d89d326747b6f.10.llvm.16620058351426711825\n [12259](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a410 GetProcAddress\n [12260](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000820 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.84.llvm.9180192027238945235\n [12261](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a20 __imp_memcpy\n-[12262](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000046f2 anon.ce6f0c62864fa439afba1682d1475d3d.118.llvm.14048921605721191922\n-[12263](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000218 __imp_anon.577344e6c4a90a10ff600a929dedcba7.3.llvm.11685822864145163790\n-[12264](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006d0 __imp_CreateSymbolicLinkW\n-[12265](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a570 CompareStringOrdinal\n-[12266](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000069e0 anon.5188eecf01c48ed8fcadadd01fcebeeb.1.llvm.10386673973210777259\n-[12267](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2370 memmove\n-[12268](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000026d0 anon.2d4ed69d03b8b00b295e2865b118c80a.1.llvm.9587153679006429619\n-[12269](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a528 CreateSymbolicLinkW\n-[12270](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003e50 anon.ce6f0c62864fa439afba1682d1475d3d.20.llvm.14048921605721191922\n-[12271](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004a50 anon.a43af9cc4981a42dd00b013f8f55f130.49.llvm.13665133684747362110\n-[12272](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013198 anon.ae9ea30a8e884eaaf6e7ec56ddc7bcd5.7.llvm.12700038450165258506\n-[12273](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000e0 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.27.llvm.12196597439006139751\n-[12274](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000398 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.55.llvm.65172163764165323\n-[12275](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000c0 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.24.llvm.12196597439006139751\n-[12276](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004260 anon.ce6f0c62864fa439afba1682d1475d3d.63.llvm.14048921605721191922\n-[12277](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007a8 __imp_GetFileInformationByHandle\n-[12278](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000148 __imp_anon.03a7b1eb39947173efb71e48c5b540f4.9.llvm.10021583357862909\n-[12279](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __rt_psrelocs_size\n-[12280](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b88 __imp_anon.ae9ea30a8e884eaaf6e7ec56ddc7bcd5.3.llvm.12700038450165258506\n-[12281](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000021270 anon.d5fd6146a7cb5ea87f639cab18b2a05b.42.llvm.3779847476987057767\n-[12282](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a2c0 TerminateProcess\n-[12283](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002e26 anon.edf9b0bdfd963b6a2ea99216811efd5e.54.llvm.65172163764165323\n-[12284](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e80 __imp_anon.d5fd6146a7cb5ea87f639cab18b2a05b.42.llvm.3779847476987057767\n-[12285](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c3148 strncmp\n-[12286](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a668 WSARecv\n-[12287](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b70 __imp_anon.7ec0d7d1b51f482853d19890eaa43e99.14.llvm.4855701895496871646\n-[12288](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000750 __imp_FreeEnvironmentStringsW\n-[12289](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2160 WaitOnAddress\n-[12290](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000898 __imp_MoveFileExW\n-[12291](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000078 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.1.llvm.12196597439006139751\n-[12292](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022bd0 .refptr.__mingw_app_type\n-[12293](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a5f0 recv\n-[12294](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000538 __imp__ZN3std10sys_common6thread9min_stack3MIN17hd6c24a62017ef65aE.0.llvm.14048921605721191922\n-[12295](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006228 anon.2fc0b598515d6d45a6f7a748d37f9e68.93.llvm.9180192027238945235\n-[12296](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ac8 __imp_anon.75cd115d168aa5adc70873d7be22c67a.12.llvm.8768119154728042530\n-[12297](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000eb0 __imp__execute_onexit_table\n-[12298](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007eb3 anon.75cd115d168aa5adc70873d7be22c67a.9.llvm.8768119154728042530\n-[12299](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000898 _ZN3std3sys3pal7windows1c13GetTempPath2W3PTR17he23b5a39201cf65cE\n-[12300](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000046ea anon.ce6f0c62864fa439afba1682d1475d3d.117.llvm.14048921605721191922\n-[12301](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000970 __imp_TlsGetValue\n-[12302](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a508 DeleteFileW\n-[12303](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c98 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.39.llvm.10283439849247210698\n-[12304](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000640 __imp_WaitOnAddress\n-[12305](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001e98 anon.577344e6c4a90a10ff600a929dedcba7.5.llvm.11685822864145163790\n-[12306](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000758 __imp_GetCommandLineW\n-[12307](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c21b8 _Unwind_DeleteException\n-[12308](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a488 GetCurrentThread\n-[12309](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004895 anon.a43af9cc4981a42dd00b013f8f55f130.18.llvm.13665133684747362110\n-[12310](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d89 anon.2611162d579b3e706d0c0f15accb8ea6.3.llvm.17987727548992354187\n-[12311](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a88 __imp_anon.e2378e14a3ab6920970de912c40858fb.1.llvm.12155384279649763508\n-[12312](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015131 anon.7a6259c55b9abecd4a2eb0873fc8b779.47.llvm.10283439849247210698\n-[12313](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000858 __imp_InitOnceBeginInitialize\n-[12314](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000eb8 __imp__register_onexit_function\n-[12315](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006a20 anon.5188eecf01c48ed8fcadadd01fcebeeb.2.llvm.10386673973210777259\n-[12316](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008c0 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.3.llvm.4036729494550109879\n-[12317](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006168 anon.2fc0b598515d6d45a6f7a748d37f9e68.87.llvm.9180192027238945235\n-[12318](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a2a8 TlsGetValue\n-[12319](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000150 __imp_anon.03a7b1eb39947173efb71e48c5b540f4.10.llvm.10021583357862909\n-[12320](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a80 __imp_anon.b600da5f5c44c0dd2674915485b1c9f6.0.llvm.9103046057031032332\n-[12321](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000173a0 anon.df4f5fc91c1c1e84f2976758feaea474.21.llvm.17095335174290335670\n-[12322](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c2330 _amsg_exit\n-[12323](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013d20 _ZN4core3num7flt2dec8strategy5grisu12CACHED_POW1017hc29b3bf8237d228dE\n-[12324](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000160 __imp_anon.03a7b1eb39947173efb71e48c5b540f4.13.llvm.10021583357862909\n-[12325](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a2d0 SleepEx\n-[12326](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001510c anon.7a6259c55b9abecd4a2eb0873fc8b779.32.llvm.10283439849247210698\n-[12327](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002540 anon.577344e6c4a90a10ff600a929dedcba7.81.llvm.11685822864145163790\n-[12328](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005b70 anon.2fc0b598515d6d45a6f7a748d37f9e68.44.llvm.9180192027238945235\n-[12329](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000020 _ZN3std5panic14SHOULD_CAPTURE17h47fa1dca84a94988E.0.llvm.12196597439006139751\n-[12330](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015130 anon.7a6259c55b9abecd4a2eb0873fc8b779.46.llvm.10283439849247210698\n-[12331](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000138c8 anon.9de54bf691a285dd20d4e87e6b508fbd.4.llvm.12123695082059135366\n-[12332](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000790 __imp_GetEnvironmentVariableW\n-[12333](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d38 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.72.llvm.10283439849247210698\n-[12334](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002880 anon.2d4ed69d03b8b00b295e2865b118c80a.15.llvm.9587153679006429619\n-[12335](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ee4 __native_dllmain_reason\n-[12336](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003b85 anon.941f0f04b36aa440174d89d326747b6f.54.llvm.16620058351426711825\n-[12337](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005578 anon.71b4c3b3c7c90ed67c6b8e618b4d496a.1.llvm.14138378158770856212\n-[12338](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000890 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.101.llvm.9180192027238945235\n-[12339](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013938 anon.9de54bf691a285dd20d4e87e6b508fbd.7.llvm.12123695082059135366\n-[12340](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005b88 anon.2fc0b598515d6d45a6f7a748d37f9e68.45.llvm.9180192027238945235\n-[12341](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009f8 anon.c5e06b7d2fb27e4271afbca860883ce8.2.llvm.12196597439006139751\n-[12342](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000770 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.4.llvm.9180192027238945235\n-[12343](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000050 __imp_anon.08c341bb7f186daefc16bdd18254cc9c.4.llvm.2852608270795916942\n-[12344](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000950 __imp_SwitchToThread\n-[12345](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d20 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.69.llvm.10283439849247210698\n-[12346](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000940 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.41.llvm.4036729494550109879\n-[12347](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006a8 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.18.llvm.13665133684747362110\n-[12348](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000660 __imp_ProcessPrng\n-[12349](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a278 WideCharToMultiByte\n-[12350](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001a10 __lib64_libmsvcrt_def_a_iname\n-[12351](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015ef0 anon.8d718ed12c404e6593cdb19a2e5276ea.6.llvm.819651363561423643\n-[12352](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008e0 __imp_RtlLookupFunctionEntry\n-[12353](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000dd8 __imp_anon.07b55acb663eb35d742bae824872f75e.9.llvm.58757282566773765\n-[12354](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006f8 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.58.llvm.13665133684747362110\n-[12355](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000810 __imp_GetStdHandle\n-[12356](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004e0 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.17.llvm.14048921605721191922\n-[12357](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003e88 anon.ce6f0c62864fa439afba1682d1475d3d.22.llvm.14048921605721191922\n-[12358](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006f88 anon.5188eecf01c48ed8fcadadd01fcebeeb.51.llvm.10386673973210777259\n-[12359](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a430 GetModuleFileNameW\n-[12360](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a420 GetModuleHandleW\n-[12361](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a428 GetModuleHandleA\n-[12362](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000188 _ZN3std9panicking11panic_count17LOCAL_PANIC_COUNT7__getit5__KEY17h6b4730867b4d8da1E.llvm.11685822864145163790\n-[12363](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000135d0 _ZN4core3fmt3num14DEC_DIGITS_LUT17h038d33b26edcbfd2E\n-[12364](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000900 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.31.llvm.4036729494550109879\n-[12365](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a500 DeleteProcThreadAttributeList\n-[12366](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008d0 __imp_RemoveDirectoryW\n-[12367](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bf8 __imp_anon.bb01d4b423a85a795a1692e8cd9c64e5.10.llvm.11285312269184381906\n-[12368](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e48 __imp_anon.07b55acb663eb35d742bae824872f75e.30.llvm.58757282566773765\n-[12369](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a30 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.71.llvm.10386673973210777259\n-[12370](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b98 __imp_anon.ae9ea30a8e884eaaf6e7ec56ddc7bcd5.6.llvm.12700038450165258506\n-[12371](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a60 __imp_NtCreateFile\n-[12372](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ea8 __imp_anon.d5fd6146a7cb5ea87f639cab18b2a05b.47.llvm.3779847476987057767\n-[12373](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022c20 .refptr.__xc_a\n-[12374](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000690 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.15.llvm.13665133684747362110\n-[12375](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022b70 .refptr._ZN3std9panicking11panic_count18GLOBAL_PANIC_COUNT17h5b40b3f81b5486b3E\n-[12376](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c38 __imp_anon.1cd6cbb5d23cd003f709872fa6a8a6dd.8.llvm.9517595369394268439\n-[12377](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000026f8 anon.2d4ed69d03b8b00b295e2865b118c80a.2.llvm.9587153679006429619\n-[12378](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000098 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.8.llvm.12196597439006139751\n-[12379](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003e10 anon.ce6f0c62864fa439afba1682d1475d3d.17.llvm.14048921605721191922\n-[12380](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003000 anon.edf9b0bdfd963b6a2ea99216811efd5e.77.llvm.65172163764165323\n-[12381](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a370 QueryPerformanceCounter\n-[12382](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a580 CancelIo\n-[12383](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2158 WakeByAddressAll\n-[12384](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008a8 __imp_QueryPerformanceCounter\n-[12385](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000850 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.90.llvm.9180192027238945235\n-[12386](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003820 anon.941f0f04b36aa440174d89d326747b6f.20.llvm.16620058351426711825\n-[12387](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e20 __imp_anon.07b55acb663eb35d742bae824872f75e.25.llvm.58757282566773765\n-[12388](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a598 NtWriteFile\n-[12389](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000528 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.63.llvm.14048921605721191922\n-[12390](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000978 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.59.llvm.4036729494550109879\n-[12391](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dcd8 anon.07b55acb663eb35d742bae824872f75e.27.llvm.58757282566773765\n-[12392](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009e8 __imp__lock\n-[12393](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000aa0 __imp_anon.75cd115d168aa5adc70873d7be22c67a.6.llvm.8768119154728042530\n-[12394](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013900 str.0.llvm.12123695082059135366\n-[12395](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c70 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.34.llvm.10283439849247210698\n-[12396](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001868 anon.03a7b1eb39947173efb71e48c5b540f4.82.llvm.10021583357862909\n-[12397](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d50 __imp_anon.8d718ed12c404e6593cdb19a2e5276ea.6.llvm.819651363561423643\n-[12398](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000730 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.115.llvm.13665133684747362110\n-[12399](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d98 __imp_anon.df4f5fc91c1c1e84f2976758feaea474.16.llvm.17095335174290335670\n-[12400](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000150 _ZN3std3sys3pal7windows4time12perf_counter9frequency9FREQUENCY17hb6767d30e4f028d6E.0.llvm.10386673973210777259\n-[12401](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003d8 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.84.llvm.65172163764165323\n-[12402](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006670 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.32.llvm.4036729494550109879\n-[12403](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a480 GetEnvironmentStringsW\n-[12404](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000012948 anon.c4d194f4cabed4ef9246cda43331cffc.3.llvm.6008810897942320446\n-[12405](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000180 __imp_anon.03a7b1eb39947173efb71e48c5b540f4.83.llvm.10021583357862909\n-[12406](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004c50 anon.a43af9cc4981a42dd00b013f8f55f130.65.llvm.13665133684747362110\n-[12407](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b10 __imp_getsockopt\n-[12408](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000002138c anon.d5fd6146a7cb5ea87f639cab18b2a05b.44.llvm.3779847476987057767\n-[12409](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c00 __imp_anon.9de54bf691a285dd20d4e87e6b508fbd.4.llvm.12123695082059135366\n-[12410](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a548 CreateFileW\n-[12411](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e98 __imp_anon.d5fd6146a7cb5ea87f639cab18b2a05b.45.llvm.3779847476987057767\n-[12412](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c21c0 _GCC_specific_handler\n-[12413](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000788 __imp_GetEnvironmentStringsW\n-[12414](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000068b8 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.59.llvm.4036729494550109879\n-[12415](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007edb anon.75cd115d168aa5adc70873d7be22c67a.10.llvm.8768119154728042530\n-[12416](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c3178 EnterCriticalSection\n-[12417](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000cee anon.c5e06b7d2fb27e4271afbca860883ce8.28.llvm.12196597439006139751\n-[12418](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004d8 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.0.llvm.14048921605721191922\n-[12419](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006c8 __imp_CreateProcessW\n-[12420](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000060d0 anon.2fc0b598515d6d45a6f7a748d37f9e68.83.llvm.9180192027238945235\n-[12421](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013160 anon.ae9ea30a8e884eaaf6e7ec56ddc7bcd5.5.llvm.12700038450165258506\n-[12422](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c3150 vfprintf\n-[12423](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d00 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.65.llvm.10283439849247210698\n-[12424](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a550 CreateFileMappingA\n-[12425](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000440 __imp_anon.941f0f04b36aa440174d89d326747b6f.13.llvm.16620058351426711825\n-[12426](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b78 __imp_anon.7ec0d7d1b51f482853d19890eaa43e99.15.llvm.4855701895496871646\n-[12427](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000061e0 anon.2fc0b598515d6d45a6f7a748d37f9e68.90.llvm.9180192027238945235\n-[12428](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000229c0 _tls_used\n-[12429](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000450 __imp_anon.941f0f04b36aa440174d89d326747b6f.20.llvm.16620058351426711825\n-[12430](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000012930 anon.c4d194f4cabed4ef9246cda43331cffc.1.llvm.6008810897942320446\n-[12431](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000158 __imp_anon.03a7b1eb39947173efb71e48c5b540f4.11.llvm.10021583357862909\n-[12432](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000048a2 anon.a43af9cc4981a42dd00b013f8f55f130.19.llvm.13665133684747362110\n-[12433](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007469 anon.5188eecf01c48ed8fcadadd01fcebeeb.103.llvm.10386673973210777259\n-[12434](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006f8 __imp_DeleteFileW\n-[12435](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000048dc anon.a43af9cc4981a42dd00b013f8f55f130.23.llvm.13665133684747362110\n-[12436](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000da0 __imp_anon.df4f5fc91c1c1e84f2976758feaea474.17.llvm.17095335174290335670\n-[12437](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000328 __imp_anon.2d4ed69d03b8b00b295e2865b118c80a.15.llvm.9587153679006429619\n-[12438](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000032a8 anon.edf9b0bdfd963b6a2ea99216811efd5e.116.llvm.65172163764165323\n-[12439](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b58 __imp_shutdown\n-[12440](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b18 __imp_anon.567cec0599d353b04e33d4229b5f9b30.12.llvm.2628756017061842597\n-[12441](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000180 __native_startup_lock\n-[12442](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002820 anon.2d4ed69d03b8b00b295e2865b118c80a.12.llvm.9587153679006429619\n-[12443](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022ec0 __RUNTIME_PSEUDO_RELOC_LIST_END__\n-[12444](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000028d0 anon.2d4ed69d03b8b00b295e2865b118c80a.17.llvm.9587153679006429619\n-[12445](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000008 __xc_z\n-[12446](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007b0 __imp_GetFileInformationByHandleEx\n-[12447](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000030 __imp_anon.7ce35b53eeafc768de935b4fef3da959.12.llvm.1024159395525823541\n-[12448](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a398 MapViewOfFile\n-[12449](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000017358 anon.df4f5fc91c1c1e84f2976758feaea474.19.llvm.17095335174290335670\n-[12450](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006300 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.2.llvm.4036729494550109879\n-[12451](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b20 __imp_listen\n-[12452](sec 11)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000010 ___tls_end__\n-[12453](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003a58 anon.941f0f04b36aa440174d89d326747b6f.42.llvm.16620058351426711825\n-[12454](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ba8 __imp__Unwind_Resume\n-[12455](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007f0 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.42.llvm.9180192027238945235\n-[12456](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000828 __imp_GetSystemTimePreciseAsFileTime\n-[12457](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015111 anon.7a6259c55b9abecd4a2eb0873fc8b779.34.llvm.10283439849247210698\n-[12458](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001e8 _ZN3std2io5stdio14OUTPUT_CAPTURE7__getit5__KEY17h4bf77338c012dfcbE.llvm.11685822864145163790\n-[12459](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000110 __imp_anon.2611162d579b3e706d0c0f15accb8ea6.3.llvm.17987727548992354187\n-[12460](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000050 ___crt_xp_start__\n-[12461](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b68 __imp__GCC_specific_handler\n-[12462](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000918 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.34.llvm.4036729494550109879\n-[12463](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015129 anon.7a6259c55b9abecd4a2eb0873fc8b779.41.llvm.10283439849247210698\n-[12464](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000058f8 anon.2fc0b598515d6d45a6f7a748d37f9e68.20.llvm.9180192027238945235\n-[12465](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008b8 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.2.llvm.4036729494550109879\n-[12466](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000678 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.12.llvm.13665133684747362110\n-[12467](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a280 WaitForSingleObject\n-[12468](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001248 anon.03a7b1eb39947173efb71e48c5b540f4.9.llvm.10021583357862909\n-[12469](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015128 anon.7a6259c55b9abecd4a2eb0873fc8b779.40.llvm.10283439849247210698\n-[12470](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a350 ReadFileEx\n-[12471](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000718 __imp__ZN3std9panicking4HOOK17h33440ca34cb79643E\n-[12472](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000d0 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.26.llvm.12196597439006139751\n-[12473](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a98 __imp_WSACleanup\n-[12474](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007a8 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.16.llvm.9180192027238945235\n-[12475](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000170 __imp_anon.03a7b1eb39947173efb71e48c5b540f4.52.llvm.10021583357862909\n-[12476](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a610 getsockname\n-[12477](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000208f8 _ZN4core7unicode12unicode_data11white_space14WHITESPACE_MAP17h6da2769d9619e572E\n-[12478](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022c30 .refptr.__xc_z\n-[12479](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dd38 anon.07b55acb663eb35d742bae824872f75e.30.llvm.58757282566773765\n-[12480](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d18 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.68.llvm.10283439849247210698\n-[12481](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000061c8 anon.2fc0b598515d6d45a6f7a748d37f9e68.89.llvm.9180192027238945235\n-[12482](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000750 __imp_anon.71b4c3b3c7c90ed67c6b8e618b4d496a.0.llvm.14138378158770856212\n-[12483](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008b0 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.1.llvm.4036729494550109879\n-[12484](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a318 SetFileAttributesW\n-[12485](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000458 __imp_anon.941f0f04b36aa440174d89d326747b6f.27.llvm.16620058351426711825\n-[12486](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d58 __imp_anon.8d718ed12c404e6593cdb19a2e5276ea.18.llvm.819651363561423643\n-[12487](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000010dd0 anon.567cec0599d353b04e33d4229b5f9b30.4.llvm.2628756017061842597\n-[12488](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006d0 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.23.llvm.13665133684747362110\n-[12489](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000074b0 anon.5188eecf01c48ed8fcadadd01fcebeeb.106.llvm.10386673973210777259\n-[12490](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009a8 __imp_WaitForSingleObject\n-[12491](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000460 __imp_anon.941f0f04b36aa440174d89d326747b6f.28.llvm.16620058351426711825\n-[12492](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a90 __imp_anon.5de116bb10f22f2f898f0999be20ad04.10.llvm.16857200617075268833\n-[12493](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000048 __xl_z\n-[12494](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000002154e anon.d5fd6146a7cb5ea87f639cab18b2a05b.45.llvm.3779847476987057767\n-[12495](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000960 __imp_TlsAlloc\n-[12496](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006a78 anon.5188eecf01c48ed8fcadadd01fcebeeb.4.llvm.10386673973210777259\n-[12497](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005b30 anon.2fc0b598515d6d45a6f7a748d37f9e68.41.llvm.9180192027238945235\n-[12498](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001a3c __lib64_libuserenv_a_iname\n-[12499](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004bd8 anon.a43af9cc4981a42dd00b013f8f55f130.58.llvm.13665133684747362110\n-[12500](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000014 _head__tmp_rustcBv6EAf_bcryptprimitives_lib\n-[12501](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000980 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.65.llvm.4036729494550109879\n-[12502](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000040e0 anon.ce6f0c62864fa439afba1682d1475d3d.49.llvm.14048921605721191922\n-[12503](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008a0 _ZN3std3sys3pal7windows1c20SetThreadDescription3PTR17h62a2495fa6119c78E\n-[12504](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bc8 __imp_anon.3bd369ec61590d9272c591ac87029920.2.llvm.2123515186662715695\n-[12505](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000738 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.117.llvm.13665133684747362110\n-[12506](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c28 __imp_anon.9de54bf691a285dd20d4e87e6b508fbd.8.llvm.12123695082059135366\n-[12507](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000080 anon.7ce35b53eeafc768de935b4fef3da959.3.llvm.1024159395525823541\n-[12508](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000015c8 anon.03a7b1eb39947173efb71e48c5b540f4.52.llvm.10021583357862909\n-[12509](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000038 __xl_c\n-[12510](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000e8 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.28.llvm.12196597439006139751\n-[12511](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ec0 __imp__initialize_onexit_table\n-[12512](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009f8 __imp_abort\n-[12513](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000040 __xl_d\n-[12514](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000030b0 anon.edf9b0bdfd963b6a2ea99216811efd5e.85.llvm.65172163764165323\n-[12515](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000029b0 anon.edf9b0bdfd963b6a2ea99216811efd5e.1.llvm.65172163764165323\n-[12516](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003b80 anon.941f0f04b36aa440174d89d326747b6f.53.llvm.16620058351426711825\n-[12517](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004ac0 anon.a43af9cc4981a42dd00b013f8f55f130.53.llvm.13665133684747362110\n-[12518](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a678 WSADuplicateSocketW\n-[12519](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000029b0 anon.edf9b0bdfd963b6a2ea99216811efd5e.0.llvm.65172163764165323\n-[12520](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002848 anon.2d4ed69d03b8b00b295e2865b118c80a.13.llvm.9587153679006429619\n-[12521](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003980 anon.941f0f04b36aa440174d89d326747b6f.32.llvm.16620058351426711825\n-[12522](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006bb8 anon.5188eecf01c48ed8fcadadd01fcebeeb.14.llvm.10386673973210777259\n-[12523](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001ae4 libgcc_s_seh_1_dll_iname\n-[12524](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001384a anon.bb01d4b423a85a795a1692e8cd9c64e5.10.llvm.11285312269184381906\n-[12525](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002280 anon.577344e6c4a90a10ff600a929dedcba7.53.llvm.11685822864145163790\n-[12526](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000640 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.5.llvm.13665133684747362110\n-[12527](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009b0 __imp_WideCharToMultiByte\n-[12528](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015118 anon.7a6259c55b9abecd4a2eb0873fc8b779.37.llvm.10283439849247210698\n-[12529](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007f08 anon.75cd115d168aa5adc70873d7be22c67a.11.llvm.8768119154728042530\n-[12530](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c31b8 ___DTOR_LIST__\n-[12531](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a640 bind\n-[12532](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008e0 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.8.llvm.4036729494550109879\n-[12533](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007c0 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.19.llvm.9180192027238945235\n-[12534](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006c00 anon.5188eecf01c48ed8fcadadd01fcebeeb.16.llvm.10386673973210777259\n-[12535](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000028 __xl_a\n-[12536](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000a0 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.9.llvm.12196597439006139751\n-[12537](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000188 __native_startup_state\n-[12538](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a358 ReadFile\n-[12539](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b48 __imp_anon.c4d194f4cabed4ef9246cda43331cffc.4.llvm.6008810897942320446\n-[12540](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000548 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.80.llvm.14048921605721191922\n-[12541](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000698 __imp_CreateDirectoryW\n-[12542](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008a8 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.0.llvm.4036729494550109879\n-[12543](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006c0 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.21.llvm.13665133684747362110\n-[12544](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e58 __imp_anon.07b55acb663eb35d742bae824872f75e.32.llvm.58757282566773765\n-[12545](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d30 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.71.llvm.10283439849247210698\n-[12546](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000720 __imp_ExitProcess\n-[12547](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002588 anon.577344e6c4a90a10ff600a929dedcba7.83.llvm.11685822864145163790\n-[12548](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ae0 __imp_anon.d13ef5d19e380ff1a25cb10df774bd92.2.llvm.13995198208019911955\n-[12549](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001731d anon.df4f5fc91c1c1e84f2976758feaea474.17.llvm.17095335174290335670\n-[12550](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000970 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.58.llvm.4036729494550109879\n-[12551](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000e8 _ZN3std2rt7cleanup7CLEANUP17h07b9456e6b4bf964E.llvm.14048921605721191922\n-[12552](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b18 __imp_ioctlsocket\n-[12553](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a418 GetOverlappedResult\n-[12554](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e00 __imp_anon.07b55acb663eb35d742bae824872f75e.21.llvm.58757282566773765\n-[12555](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022ec0 __rt_psrelocs_end\n-[12556](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dcf0 anon.07b55acb663eb35d742bae824872f75e.28.llvm.58757282566773765\n-[12557](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008b8 __imp_ReadConsoleW\n-[12558](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000758 __imp_anon.71b4c3b3c7c90ed67c6b8e618b4d496a.1.llvm.14138378158770856212\n-[12559](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006c8 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.22.llvm.13665133684747362110\n-[12560](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001511f anon.7a6259c55b9abecd4a2eb0873fc8b779.38.llvm.10283439849247210698\n-[12561](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c3130 __iob_func\n-[12562](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ad0 __imp_accept\n-[12563](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000020ce anon.577344e6c4a90a10ff600a929dedcba7.35.llvm.11685822864145163790\n-[12564](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002570 anon.577344e6c4a90a10ff600a929dedcba7.82.llvm.11685822864145163790\n-[12565](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a520 CreateThread\n-[12566](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000066f0 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.37.llvm.4036729494550109879\n-[12567](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c3140 fwrite\n-[12568](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000378 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.4.llvm.65172163764165323\n-[12569](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dba8 anon.07b55acb663eb35d742bae824872f75e.6.llvm.58757282566773765\n-[12570](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000cef anon.c5e06b7d2fb27e4271afbca860883ce8.29.llvm.12196597439006139751\n-[12571](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015330 anon.7a6259c55b9abecd4a2eb0873fc8b779.69.llvm.10283439849247210698\n-[12572](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013100 anon.ae9ea30a8e884eaaf6e7ec56ddc7bcd5.0.llvm.12700038450165258506\n-[12573](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000448 __imp_anon.941f0f04b36aa440174d89d326747b6f.14.llvm.16620058351426711825\n-[12574](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a08 __imp_free\n-[12575](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000134c8 anon.3bd369ec61590d9272c591ac87029920.0.llvm.2123515186662715695\n-[12576](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003918 anon.941f0f04b36aa440174d89d326747b6f.28.llvm.16620058351426711825\n-[12577](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002a20 anon.edf9b0bdfd963b6a2ea99216811efd5e.4.llvm.65172163764165323\n-[12578](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000010d98 anon.567cec0599d353b04e33d4229b5f9b30.3.llvm.2628756017061842597\n-[12579](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002b0 __imp__ZN3std10sys_common11thread_info11THREAD_INFO7__getit5__KEY17ha20a47e83639d552E.llvm.11685822864145163790\n-[12580](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006240 anon.2fc0b598515d6d45a6f7a748d37f9e68.94.llvm.9180192027238945235\n-[12581](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000028 __imp_anon.7ce35b53eeafc768de935b4fef3da959.11.llvm.1024159395525823541\n-[12582](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000638 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.4.llvm.13665133684747362110\n-[12583](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a330 RtlVirtualUnwind\n-[12584](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a4c8 FlushFileBuffers\n-[12585](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004458 anon.ce6f0c62864fa439afba1682d1475d3d.80.llvm.14048921605721191922\n-[12586](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000017300 anon.df4f5fc91c1c1e84f2976758feaea474.16.llvm.17095335174290335670\n-[12587](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003e70 anon.ce6f0c62864fa439afba1682d1475d3d.21.llvm.14048921605721191922\n-[12588](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004d0 __imp__ZN3std3sys3pal7windows1c8KERNEL3217h9414b6c65f82effbE\n-[12589](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005738 anon.2fc0b598515d6d45a6f7a748d37f9e68.4.llvm.9180192027238945235\n-[12590](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000103a0 anon.d13ef5d19e380ff1a25cb10df774bd92.4.llvm.13995198208019911955\n-[12591](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a68 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.107.llvm.10386673973210777259\n-[12592](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013c10 anon.1cd6cbb5d23cd003f709872fa6a8a6dd.30.llvm.9517595369394268439\n-[12593](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003e0 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.85.llvm.65172163764165323\n-[12594](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000408 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.116.llvm.65172163764165323\n-[12595](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007c37 anon.5de116bb10f22f2f898f0999be20ad04.10.llvm.16857200617075268833\n-[12596](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000780 __imp_GetCurrentThread\n-[12597](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a660 WSASend\n-[12598](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000b0 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.22.llvm.12196597439006139751\n-[12599](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009a0 __imp_WaitForMultipleObjects\n-[12600](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a38 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.101.llvm.10386673973210777259\n-[12601](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000818 __imp_GetSystemDirectoryW\n-[12602](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000021e0 anon.577344e6c4a90a10ff600a929dedcba7.48.llvm.11685822864145163790\n-[12603](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005590 anon.71b4c3b3c7c90ed67c6b8e618b4d496a.2.llvm.14138378158770856212\n-[12604](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000047ee anon.a43af9cc4981a42dd00b013f8f55f130.5.llvm.13665133684747362110\n-[12605](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000228 __imp_anon.577344e6c4a90a10ff600a929dedcba7.5.llvm.11685822864145163790\n-[12606](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000062a4 anon.2fc0b598515d6d45a6f7a748d37f9e68.99.llvm.9180192027238945235\n-[12607](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a320 SetEnvironmentVariableW\n-[12608](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006120 anon.2fc0b598515d6d45a6f7a748d37f9e68.86.llvm.9180192027238945235\n-[12609](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000062b5 anon.2fc0b598515d6d45a6f7a748d37f9e68.101.llvm.9180192027238945235\n-[12610](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015113 anon.7a6259c55b9abecd4a2eb0873fc8b779.35.llvm.10283439849247210698\n-[12611](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000390 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.54.llvm.65172163764165323\n-[12612](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003970 anon.941f0f04b36aa440174d89d326747b6f.31.llvm.16620058351426711825\n-[12613](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005881 anon.2fc0b598515d6d45a6f7a748d37f9e68.17.llvm.9180192027238945235\n-[12614](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006180 anon.2fc0b598515d6d45a6f7a748d37f9e68.88.llvm.9180192027238945235\n-[12615](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a600 ioctlsocket\n-[12616](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006f68 anon.5188eecf01c48ed8fcadadd01fcebeeb.50.llvm.10386673973210777259\n-[12617](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000840 anon.08c341bb7f186daefc16bdd18254cc9c.4.llvm.2852608270795916942\n-[12618](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ca0 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.40.llvm.10283439849247210698\n-[12619](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003c90 anon.ce6f0c62864fa439afba1682d1475d3d.0.llvm.14048921605721191922\n-[12620](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000055f8 anon.71b4c3b3c7c90ed67c6b8e618b4d496a.6.llvm.14138378158770856212\n-[12621](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000420 __imp_anon.941f0f04b36aa440174d89d326747b6f.6.llvm.16620058351426711825\n-[12622](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ef0 _CRT_MT\n-[12623](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000648 __imp_WakeByAddressAll\n-[12624](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000980 __imp_UnmapViewOfFile\n-[12625](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000878 __imp_LeaveCriticalSection\n-[12626](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e28 __imp_anon.07b55acb663eb35d742bae824872f75e.26.llvm.58757282566773765\n-[12627](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000cc8 anon.c5e06b7d2fb27e4271afbca860883ce8.26.llvm.12196597439006139751\n-[12628](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000cb8 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.43.llvm.10283439849247210698\n-[12629](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a2b8 TlsAlloc\n-[12630](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a3d8 GetTempPathW\n-[12631](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006279 anon.2fc0b598515d6d45a6f7a748d37f9e68.96.llvm.9180192027238945235\n-[12632](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000171c0 anon.df4f5fc91c1c1e84f2976758feaea474.14.llvm.17095335174290335670\n-[12633](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000dc0 __imp_anon.df4f5fc91c1c1e84f2976758feaea474.21.llvm.17095335174290335670\n-[12634](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000002 __minor_subsystem_version__\n-[12635](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000010e68 anon.567cec0599d353b04e33d4229b5f9b30.9.llvm.2628756017061842597\n-[12636](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004e8 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.18.llvm.14048921605721191922\n-[12637](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001268 anon.03a7b1eb39947173efb71e48c5b540f4.10.llvm.10021583357862909\n-[12638](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000760 __imp_anon.71b4c3b3c7c90ed67c6b8e618b4d496a.2.llvm.14138378158770856212\n-[12639](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000100000 __size_of_heap_reserve__\n-[12640](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004877 anon.a43af9cc4981a42dd00b013f8f55f130.16.llvm.13665133684747362110\n-[12641](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001396f anon.9de54bf691a285dd20d4e87e6b508fbd.9.llvm.12123695082059135366\n-[12642](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a4c0 FormatMessageW\n-[12643](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000016708 _ZN4core7unicode12unicode_data15grapheme_extend7OFFSETS17h442f9377d3be9cdfE.llvm.819651363561423643\n-[12644](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2144 ProcessPrng\n-[12645](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000320 __imp_anon.2d4ed69d03b8b00b295e2865b118c80a.14.llvm.9587153679006429619\n-[12646](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006b8 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.20.llvm.13665133684747362110\n-[12647](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000b0 _ZN3std2io5stdio6stderr8INSTANCE17h050c730875ffdbc8E\n-[12648](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003930 anon.941f0f04b36aa440174d89d326747b6f.29.llvm.16620058351426711825\n-[12649](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a338 RtlLookupFunctionEntry\n-[12650](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022c40 .refptr.__xi_a\n-[12651](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a28 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.70.llvm.10386673973210777259\n-[12652](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009c8 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.12.llvm.10386673973210777259\n-[12653](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a50 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.104.llvm.10386673973210777259\n-[12654](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000064 _head_lib64_libuserenv_a\n-[12655](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a4d0 FindNextFileW\n-[12656](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003900 anon.941f0f04b36aa440174d89d326747b6f.27.llvm.16620058351426711825\n-[12657](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c20 __imp_anon.9de54bf691a285dd20d4e87e6b508fbd.7.llvm.12123695082059135366\n-[12658](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009f0 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.46.llvm.10386673973210777259\n-[12659](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000cf8 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.64.llvm.10283439849247210698\n-[12660](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d60 __imp_anon.8d718ed12c404e6593cdb19a2e5276ea.22.llvm.819651363561423643\n-[12661](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000870 anon.08c341bb7f186daefc16bdd18254cc9c.6.llvm.2852608270795916942\n-[12662](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000079d8 anon.b600da5f5c44c0dd2674915485b1c9f6.0.llvm.9103046057031032332\n-[12663](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022c50 .refptr.__xi_z\n-[12664](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a438 GetLastError\n-[12665](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000138 _ZN3std3sys3pal7windows5alloc4HEAP17h34e549f5a2364763E\n-[12666](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000428 __imp_anon.941f0f04b36aa440174d89d326747b6f.10.llvm.16620058351426711825\n-[12667](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000b8 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.23.llvm.12196597439006139751\n-[12668](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b60 __imp_anon.7ec0d7d1b51f482853d19890eaa43e99.0.llvm.4855701895496871646\n-[12669](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000878 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.96.llvm.9180192027238945235\n-[12670](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007f8 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.43.llvm.9180192027238945235\n-[12671](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e60 __imp__ZN4core3num7dec2flt5table17POWER_OF_FIVE_12817h1308de4d59502321E\n-[12672](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b58 __imp_anon.d5e7fe67f7f67b071ebb27a2ce9d6115.0.llvm.16008337483328089059\n-[12673](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006fa0 anon.5188eecf01c48ed8fcadadd01fcebeeb.52.llvm.10386673973210777259\n-[12674](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000220 __imp_anon.577344e6c4a90a10ff600a929dedcba7.4.llvm.11685822864145163790\n-[12675](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b78 __imp__Unwind_GetDataRelBase\n-[12676](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000308 __imp_anon.2d4ed69d03b8b00b295e2865b118c80a.7.llvm.9587153679006429619\n-[12677](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000020f0 anon.577344e6c4a90a10ff600a929dedcba7.36.llvm.11685822864145163790\n-[12678](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000028 _head_lib64_libkernel32_a\n-[12679](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006a38 anon.5188eecf01c48ed8fcadadd01fcebeeb.3.llvm.10386673973210777259\n-[12680](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000728 __imp_FindClose\n-[12681](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000798 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.14.llvm.9180192027238945235\n-[12682](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a560 CreateDirectoryW\n-[12683](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001288 anon.03a7b1eb39947173efb71e48c5b540f4.11.llvm.10021583357862909\n-[12684](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000044d0 anon.ce6f0c62864fa439afba1682d1475d3d.84.llvm.14048921605721191922\n-[12685](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000018 pcinit\n-[12686](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000860 __imp_InitOnceComplete\n-[12687](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000918 __imp_SetFileTime\n-[12688](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004430 anon.ce6f0c62864fa439afba1682d1475d3d.79.llvm.14048921605721191922\n-[12689](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c3170 InitializeCriticalSection\n-[12690](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004b8 __imp_anon.941f0f04b36aa440174d89d326747b6f.58.llvm.16620058351426711825\n-[12691](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ab0 anon.c5e06b7d2fb27e4271afbca860883ce8.7.llvm.12196597439006139751\n-[12692](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000012f90 anon.7ec0d7d1b51f482853d19890eaa43e99.13.llvm.4855701895496871646\n-[12693](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a70 __imp___rust_alloc_error_handler_should_panic\n-[12694](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000560 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.83.llvm.14048921605721191922\n-[12695](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000de0 __imp_anon.07b55acb663eb35d742bae824872f75e.12.llvm.58757282566773765\n-[12696](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000af0 __imp_anon.d13ef5d19e380ff1a25cb10df774bd92.4.llvm.13995198208019911955\n-[12697](sec 11)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 _tls_start\n-[12698](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bb8 __imp__Unwind_SetIP\n-[12699](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000888 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.99.llvm.9180192027238945235\n-[12700](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000002159e anon.d5fd6146a7cb5ea87f639cab18b2a05b.46.llvm.3779847476987057767\n-[12701](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a558 CreateEventW\n-[12702](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000888 __imp_Module32FirstW\n-[12703](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a388 Module32NextW\n-[12704](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b50 __imp_anon.c4d194f4cabed4ef9246cda43331cffc.5.llvm.6008810897942320446\n-[12705](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015132 anon.7a6259c55b9abecd4a2eb0873fc8b779.48.llvm.10283439849247210698\n-[12706](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001a0 __mingw_app_type\n-[12707](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e68 __imp__ZN4core7unicode12unicode_data11white_space14WHITESPACE_MAP17h6da2769d9619e572E\n-[12708](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004be8 anon.a43af9cc4981a42dd00b013f8f55f130.59.llvm.13665133684747362110\n-[12709](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000778 __imp_GetCurrentProcessId\n-[12710](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a5d8 send\n-[12711](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000200000 __size_of_stack_reserve__\n-[12712](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c80 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.36.llvm.10283439849247210698\n-[12713](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000568 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.84.llvm.14048921605721191922\n-[12714](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002a48 anon.edf9b0bdfd963b6a2ea99216811efd5e.5.llvm.65172163764165323\n-[12715](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009c0 __imp_WriteFileEx\n-[12716](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000df8 __imp_anon.07b55acb663eb35d742bae824872f75e.20.llvm.58757282566773765\n-[12717](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000810 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.46.llvm.9180192027238945235\n-[12718](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000648 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.6.llvm.13665133684747362110\n-[12719](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e90 __imp_anon.d5fd6146a7cb5ea87f639cab18b2a05b.44.llvm.3779847476987057767\n-[12720](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a298 UnmapViewOfFile\n-[12721](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002de0 anon.edf9b0bdfd963b6a2ea99216811efd5e.53.llvm.65172163764165323\n-[12722](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dcd0 anon.07b55acb663eb35d742bae824872f75e.26.llvm.58757282566773765\n-[12723](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ee0 __native_vcclrit_reason\n-[12724](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a518 CreateToolhelp32Snapshot\n-[12725](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c88 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.37.llvm.10283439849247210698\n-[12726](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a68 __imp_NtReadFile\n-[12727](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009e0 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.15.llvm.10386673973210777259\n-[12728](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a628 freeaddrinfo\n-[12729](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000081a8 anon.fc3e879c0d0583c039a7967db6c0c117.0.llvm.14670435032436802275\n-[12730](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000028a8 anon.2d4ed69d03b8b00b295e2865b118c80a.16.llvm.9587153679006429619\n-[12731](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000017050 anon.df4f5fc91c1c1e84f2976758feaea474.2.llvm.17095335174290335670\n-[12732](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000700 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.59.llvm.13665133684747362110\n-[12733](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000128 __imp_anon.03a7b1eb39947173efb71e48c5b540f4.3.llvm.10021583357862909\n-[12734](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000850 __imp_HeapReAlloc\n-[12735](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a08 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.49.llvm.10386673973210777259\n-[12736](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000c8 anon.7ce35b53eeafc768de935b4fef3da959.4.llvm.1024159395525823541\n-[12737](sec 0)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __end__\n-[12738](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003c38 anon.941f0f04b36aa440174d89d326747b6f.60.llvm.16620058351426711825\n-[12739](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e40 __imp_anon.07b55acb663eb35d742bae824872f75e.29.llvm.58757282566773765\n-[12740](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005bb8 anon.2fc0b598515d6d45a6f7a748d37f9e68.46.llvm.9180192027238945235\n-[12741](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000108 __imp_anon.2611162d579b3e706d0c0f15accb8ea6.2.llvm.17987727548992354187\n-[12742](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000cc0 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.44.llvm.10283439849247210698\n-[12743](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000221a anon.577344e6c4a90a10ff600a929dedcba7.51.llvm.11685822864145163790\n-[12744](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002158 anon.577344e6c4a90a10ff600a929dedcba7.41.llvm.11685822864145163790\n-[12745](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007e88 anon.75cd115d168aa5adc70873d7be22c67a.7.llvm.8768119154728042530\n-[12746](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bf0 __imp_anon.bb01d4b423a85a795a1692e8cd9c64e5.9.llvm.11285312269184381906\n-[12747](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ba0 __imp__Unwind_RaiseException\n-[12748](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007b8 __imp_GetFileType\n-[12749](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009b8 __imp_WriteConsoleW\n-[12750](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007d8 __imp_GetModuleFileNameW\n-[12751](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006e8 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.54.llvm.13665133684747362110\n-[12752](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000430 __imp_anon.941f0f04b36aa440174d89d326747b6f.11.llvm.16620058351426711825\n-[12753](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b80 __imp_anon.ae9ea30a8e884eaaf6e7ec56ddc7bcd5.0.llvm.12700038450165258506\n-[12754](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 _head__tmp_rustcBv6EAf_api_ms_win_core_synch_l1_2_0_lib\n+[12262](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 _head__tmp_rustcpdeyFw_api_ms_win_core_synch_l1_2_0_lib\n+[12263](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000046f2 anon.ce6f0c62864fa439afba1682d1475d3d.118.llvm.14048921605721191922\n+[12264](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000218 __imp_anon.577344e6c4a90a10ff600a929dedcba7.3.llvm.11685822864145163790\n+[12265](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006d0 __imp_CreateSymbolicLinkW\n+[12266](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a570 CompareStringOrdinal\n+[12267](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000069e0 anon.5188eecf01c48ed8fcadadd01fcebeeb.1.llvm.10386673973210777259\n+[12268](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2370 memmove\n+[12269](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000026d0 anon.2d4ed69d03b8b00b295e2865b118c80a.1.llvm.9587153679006429619\n+[12270](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a528 CreateSymbolicLinkW\n+[12271](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003e50 anon.ce6f0c62864fa439afba1682d1475d3d.20.llvm.14048921605721191922\n+[12272](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004a50 anon.a43af9cc4981a42dd00b013f8f55f130.49.llvm.13665133684747362110\n+[12273](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013198 anon.ae9ea30a8e884eaaf6e7ec56ddc7bcd5.7.llvm.12700038450165258506\n+[12274](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000e0 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.27.llvm.12196597439006139751\n+[12275](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000398 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.55.llvm.65172163764165323\n+[12276](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000c0 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.24.llvm.12196597439006139751\n+[12277](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004260 anon.ce6f0c62864fa439afba1682d1475d3d.63.llvm.14048921605721191922\n+[12278](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007a8 __imp_GetFileInformationByHandle\n+[12279](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000148 __imp_anon.03a7b1eb39947173efb71e48c5b540f4.9.llvm.10021583357862909\n+[12280](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __rt_psrelocs_size\n+[12281](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b88 __imp_anon.ae9ea30a8e884eaaf6e7ec56ddc7bcd5.3.llvm.12700038450165258506\n+[12282](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000021270 anon.d5fd6146a7cb5ea87f639cab18b2a05b.42.llvm.3779847476987057767\n+[12283](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a2c0 TerminateProcess\n+[12284](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002e26 anon.edf9b0bdfd963b6a2ea99216811efd5e.54.llvm.65172163764165323\n+[12285](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e80 __imp_anon.d5fd6146a7cb5ea87f639cab18b2a05b.42.llvm.3779847476987057767\n+[12286](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c3148 strncmp\n+[12287](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a668 WSARecv\n+[12288](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b70 __imp_anon.7ec0d7d1b51f482853d19890eaa43e99.14.llvm.4855701895496871646\n+[12289](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000750 __imp_FreeEnvironmentStringsW\n+[12290](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2160 WaitOnAddress\n+[12291](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000898 __imp_MoveFileExW\n+[12292](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000078 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.1.llvm.12196597439006139751\n+[12293](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022bd0 .refptr.__mingw_app_type\n+[12294](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a5f0 recv\n+[12295](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000538 __imp__ZN3std10sys_common6thread9min_stack3MIN17hd6c24a62017ef65aE.0.llvm.14048921605721191922\n+[12296](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006228 anon.2fc0b598515d6d45a6f7a748d37f9e68.93.llvm.9180192027238945235\n+[12297](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ac8 __imp_anon.75cd115d168aa5adc70873d7be22c67a.12.llvm.8768119154728042530\n+[12298](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000eb0 __imp__execute_onexit_table\n+[12299](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007eb3 anon.75cd115d168aa5adc70873d7be22c67a.9.llvm.8768119154728042530\n+[12300](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000898 _ZN3std3sys3pal7windows1c13GetTempPath2W3PTR17he23b5a39201cf65cE\n+[12301](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000046ea anon.ce6f0c62864fa439afba1682d1475d3d.117.llvm.14048921605721191922\n+[12302](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000970 __imp_TlsGetValue\n+[12303](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a508 DeleteFileW\n+[12304](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c98 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.39.llvm.10283439849247210698\n+[12305](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000640 __imp_WaitOnAddress\n+[12306](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001e98 anon.577344e6c4a90a10ff600a929dedcba7.5.llvm.11685822864145163790\n+[12307](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000758 __imp_GetCommandLineW\n+[12308](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c21b8 _Unwind_DeleteException\n+[12309](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a488 GetCurrentThread\n+[12310](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004895 anon.a43af9cc4981a42dd00b013f8f55f130.18.llvm.13665133684747362110\n+[12311](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d89 anon.2611162d579b3e706d0c0f15accb8ea6.3.llvm.17987727548992354187\n+[12312](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a88 __imp_anon.e2378e14a3ab6920970de912c40858fb.1.llvm.12155384279649763508\n+[12313](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015131 anon.7a6259c55b9abecd4a2eb0873fc8b779.47.llvm.10283439849247210698\n+[12314](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000858 __imp_InitOnceBeginInitialize\n+[12315](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000eb8 __imp__register_onexit_function\n+[12316](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006a20 anon.5188eecf01c48ed8fcadadd01fcebeeb.2.llvm.10386673973210777259\n+[12317](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008c0 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.3.llvm.4036729494550109879\n+[12318](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006168 anon.2fc0b598515d6d45a6f7a748d37f9e68.87.llvm.9180192027238945235\n+[12319](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a2a8 TlsGetValue\n+[12320](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000150 __imp_anon.03a7b1eb39947173efb71e48c5b540f4.10.llvm.10021583357862909\n+[12321](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a80 __imp_anon.b600da5f5c44c0dd2674915485b1c9f6.0.llvm.9103046057031032332\n+[12322](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000173a0 anon.df4f5fc91c1c1e84f2976758feaea474.21.llvm.17095335174290335670\n+[12323](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c2330 _amsg_exit\n+[12324](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013d20 _ZN4core3num7flt2dec8strategy5grisu12CACHED_POW1017hc29b3bf8237d228dE\n+[12325](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000160 __imp_anon.03a7b1eb39947173efb71e48c5b540f4.13.llvm.10021583357862909\n+[12326](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a2d0 SleepEx\n+[12327](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001510c anon.7a6259c55b9abecd4a2eb0873fc8b779.32.llvm.10283439849247210698\n+[12328](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002540 anon.577344e6c4a90a10ff600a929dedcba7.81.llvm.11685822864145163790\n+[12329](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005b70 anon.2fc0b598515d6d45a6f7a748d37f9e68.44.llvm.9180192027238945235\n+[12330](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000020 _ZN3std5panic14SHOULD_CAPTURE17h47fa1dca84a94988E.0.llvm.12196597439006139751\n+[12331](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015130 anon.7a6259c55b9abecd4a2eb0873fc8b779.46.llvm.10283439849247210698\n+[12332](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000138c8 anon.9de54bf691a285dd20d4e87e6b508fbd.4.llvm.12123695082059135366\n+[12333](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000790 __imp_GetEnvironmentVariableW\n+[12334](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d38 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.72.llvm.10283439849247210698\n+[12335](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002880 anon.2d4ed69d03b8b00b295e2865b118c80a.15.llvm.9587153679006429619\n+[12336](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ee4 __native_dllmain_reason\n+[12337](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003b85 anon.941f0f04b36aa440174d89d326747b6f.54.llvm.16620058351426711825\n+[12338](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005578 anon.71b4c3b3c7c90ed67c6b8e618b4d496a.1.llvm.14138378158770856212\n+[12339](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000890 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.101.llvm.9180192027238945235\n+[12340](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013938 anon.9de54bf691a285dd20d4e87e6b508fbd.7.llvm.12123695082059135366\n+[12341](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005b88 anon.2fc0b598515d6d45a6f7a748d37f9e68.45.llvm.9180192027238945235\n+[12342](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009f8 anon.c5e06b7d2fb27e4271afbca860883ce8.2.llvm.12196597439006139751\n+[12343](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000770 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.4.llvm.9180192027238945235\n+[12344](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000050 __imp_anon.08c341bb7f186daefc16bdd18254cc9c.4.llvm.2852608270795916942\n+[12345](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000950 __imp_SwitchToThread\n+[12346](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d20 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.69.llvm.10283439849247210698\n+[12347](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000940 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.41.llvm.4036729494550109879\n+[12348](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006a8 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.18.llvm.13665133684747362110\n+[12349](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000660 __imp_ProcessPrng\n+[12350](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a278 WideCharToMultiByte\n+[12351](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001a10 __lib64_libmsvcrt_def_a_iname\n+[12352](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015ef0 anon.8d718ed12c404e6593cdb19a2e5276ea.6.llvm.819651363561423643\n+[12353](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008e0 __imp_RtlLookupFunctionEntry\n+[12354](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000dd8 __imp_anon.07b55acb663eb35d742bae824872f75e.9.llvm.58757282566773765\n+[12355](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006f8 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.58.llvm.13665133684747362110\n+[12356](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000810 __imp_GetStdHandle\n+[12357](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004e0 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.17.llvm.14048921605721191922\n+[12358](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003e88 anon.ce6f0c62864fa439afba1682d1475d3d.22.llvm.14048921605721191922\n+[12359](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006f88 anon.5188eecf01c48ed8fcadadd01fcebeeb.51.llvm.10386673973210777259\n+[12360](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a430 GetModuleFileNameW\n+[12361](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000017d0 ___tmp_rustcpdeyFw_api_ms_win_core_synch_l1_2_0_lib_iname\n+[12362](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a420 GetModuleHandleW\n+[12363](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a428 GetModuleHandleA\n+[12364](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000188 _ZN3std9panicking11panic_count17LOCAL_PANIC_COUNT7__getit5__KEY17h6b4730867b4d8da1E.llvm.11685822864145163790\n+[12365](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000135d0 _ZN4core3fmt3num14DEC_DIGITS_LUT17h038d33b26edcbfd2E\n+[12366](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000900 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.31.llvm.4036729494550109879\n+[12367](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a500 DeleteProcThreadAttributeList\n+[12368](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008d0 __imp_RemoveDirectoryW\n+[12369](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bf8 __imp_anon.bb01d4b423a85a795a1692e8cd9c64e5.10.llvm.11285312269184381906\n+[12370](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e48 __imp_anon.07b55acb663eb35d742bae824872f75e.30.llvm.58757282566773765\n+[12371](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a30 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.71.llvm.10386673973210777259\n+[12372](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b98 __imp_anon.ae9ea30a8e884eaaf6e7ec56ddc7bcd5.6.llvm.12700038450165258506\n+[12373](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a60 __imp_NtCreateFile\n+[12374](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ea8 __imp_anon.d5fd6146a7cb5ea87f639cab18b2a05b.47.llvm.3779847476987057767\n+[12375](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022c20 .refptr.__xc_a\n+[12376](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000690 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.15.llvm.13665133684747362110\n+[12377](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022b70 .refptr._ZN3std9panicking11panic_count18GLOBAL_PANIC_COUNT17h5b40b3f81b5486b3E\n+[12378](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c38 __imp_anon.1cd6cbb5d23cd003f709872fa6a8a6dd.8.llvm.9517595369394268439\n+[12379](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000026f8 anon.2d4ed69d03b8b00b295e2865b118c80a.2.llvm.9587153679006429619\n+[12380](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000098 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.8.llvm.12196597439006139751\n+[12381](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003e10 anon.ce6f0c62864fa439afba1682d1475d3d.17.llvm.14048921605721191922\n+[12382](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003000 anon.edf9b0bdfd963b6a2ea99216811efd5e.77.llvm.65172163764165323\n+[12383](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a370 QueryPerformanceCounter\n+[12384](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a580 CancelIo\n+[12385](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2158 WakeByAddressAll\n+[12386](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008a8 __imp_QueryPerformanceCounter\n+[12387](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000850 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.90.llvm.9180192027238945235\n+[12388](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003820 anon.941f0f04b36aa440174d89d326747b6f.20.llvm.16620058351426711825\n+[12389](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e20 __imp_anon.07b55acb663eb35d742bae824872f75e.25.llvm.58757282566773765\n+[12390](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a598 NtWriteFile\n+[12391](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000528 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.63.llvm.14048921605721191922\n+[12392](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000978 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.59.llvm.4036729494550109879\n+[12393](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dcd8 anon.07b55acb663eb35d742bae824872f75e.27.llvm.58757282566773765\n+[12394](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009e8 __imp__lock\n+[12395](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000aa0 __imp_anon.75cd115d168aa5adc70873d7be22c67a.6.llvm.8768119154728042530\n+[12396](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013900 str.0.llvm.12123695082059135366\n+[12397](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c70 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.34.llvm.10283439849247210698\n+[12398](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001868 anon.03a7b1eb39947173efb71e48c5b540f4.82.llvm.10021583357862909\n+[12399](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d50 __imp_anon.8d718ed12c404e6593cdb19a2e5276ea.6.llvm.819651363561423643\n+[12400](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000730 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.115.llvm.13665133684747362110\n+[12401](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d98 __imp_anon.df4f5fc91c1c1e84f2976758feaea474.16.llvm.17095335174290335670\n+[12402](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000150 _ZN3std3sys3pal7windows4time12perf_counter9frequency9FREQUENCY17hb6767d30e4f028d6E.0.llvm.10386673973210777259\n+[12403](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003d8 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.84.llvm.65172163764165323\n+[12404](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006670 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.32.llvm.4036729494550109879\n+[12405](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a480 GetEnvironmentStringsW\n+[12406](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000012948 anon.c4d194f4cabed4ef9246cda43331cffc.3.llvm.6008810897942320446\n+[12407](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000180 __imp_anon.03a7b1eb39947173efb71e48c5b540f4.83.llvm.10021583357862909\n+[12408](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004c50 anon.a43af9cc4981a42dd00b013f8f55f130.65.llvm.13665133684747362110\n+[12409](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b10 __imp_getsockopt\n+[12410](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000002138c anon.d5fd6146a7cb5ea87f639cab18b2a05b.44.llvm.3779847476987057767\n+[12411](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c00 __imp_anon.9de54bf691a285dd20d4e87e6b508fbd.4.llvm.12123695082059135366\n+[12412](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a548 CreateFileW\n+[12413](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e98 __imp_anon.d5fd6146a7cb5ea87f639cab18b2a05b.45.llvm.3779847476987057767\n+[12414](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c21c0 _GCC_specific_handler\n+[12415](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000788 __imp_GetEnvironmentStringsW\n+[12416](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000068b8 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.59.llvm.4036729494550109879\n+[12417](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007edb anon.75cd115d168aa5adc70873d7be22c67a.10.llvm.8768119154728042530\n+[12418](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c3178 EnterCriticalSection\n+[12419](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000cee anon.c5e06b7d2fb27e4271afbca860883ce8.28.llvm.12196597439006139751\n+[12420](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004d8 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.0.llvm.14048921605721191922\n+[12421](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006c8 __imp_CreateProcessW\n+[12422](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000060d0 anon.2fc0b598515d6d45a6f7a748d37f9e68.83.llvm.9180192027238945235\n+[12423](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013160 anon.ae9ea30a8e884eaaf6e7ec56ddc7bcd5.5.llvm.12700038450165258506\n+[12424](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c3150 vfprintf\n+[12425](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d00 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.65.llvm.10283439849247210698\n+[12426](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a550 CreateFileMappingA\n+[12427](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000440 __imp_anon.941f0f04b36aa440174d89d326747b6f.13.llvm.16620058351426711825\n+[12428](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b78 __imp_anon.7ec0d7d1b51f482853d19890eaa43e99.15.llvm.4855701895496871646\n+[12429](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000061e0 anon.2fc0b598515d6d45a6f7a748d37f9e68.90.llvm.9180192027238945235\n+[12430](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000229c0 _tls_used\n+[12431](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000450 __imp_anon.941f0f04b36aa440174d89d326747b6f.20.llvm.16620058351426711825\n+[12432](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000012930 anon.c4d194f4cabed4ef9246cda43331cffc.1.llvm.6008810897942320446\n+[12433](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000158 __imp_anon.03a7b1eb39947173efb71e48c5b540f4.11.llvm.10021583357862909\n+[12434](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000048a2 anon.a43af9cc4981a42dd00b013f8f55f130.19.llvm.13665133684747362110\n+[12435](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007469 anon.5188eecf01c48ed8fcadadd01fcebeeb.103.llvm.10386673973210777259\n+[12436](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006f8 __imp_DeleteFileW\n+[12437](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000048dc anon.a43af9cc4981a42dd00b013f8f55f130.23.llvm.13665133684747362110\n+[12438](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000da0 __imp_anon.df4f5fc91c1c1e84f2976758feaea474.17.llvm.17095335174290335670\n+[12439](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000328 __imp_anon.2d4ed69d03b8b00b295e2865b118c80a.15.llvm.9587153679006429619\n+[12440](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000032a8 anon.edf9b0bdfd963b6a2ea99216811efd5e.116.llvm.65172163764165323\n+[12441](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b58 __imp_shutdown\n+[12442](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b18 __imp_anon.567cec0599d353b04e33d4229b5f9b30.12.llvm.2628756017061842597\n+[12443](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000180 __native_startup_lock\n+[12444](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002820 anon.2d4ed69d03b8b00b295e2865b118c80a.12.llvm.9587153679006429619\n+[12445](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022ec0 __RUNTIME_PSEUDO_RELOC_LIST_END__\n+[12446](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000028d0 anon.2d4ed69d03b8b00b295e2865b118c80a.17.llvm.9587153679006429619\n+[12447](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000008 __xc_z\n+[12448](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007b0 __imp_GetFileInformationByHandleEx\n+[12449](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000030 __imp_anon.7ce35b53eeafc768de935b4fef3da959.12.llvm.1024159395525823541\n+[12450](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a398 MapViewOfFile\n+[12451](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000017358 anon.df4f5fc91c1c1e84f2976758feaea474.19.llvm.17095335174290335670\n+[12452](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006300 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.2.llvm.4036729494550109879\n+[12453](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b20 __imp_listen\n+[12454](sec 11)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000010 ___tls_end__\n+[12455](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003a58 anon.941f0f04b36aa440174d89d326747b6f.42.llvm.16620058351426711825\n+[12456](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ba8 __imp__Unwind_Resume\n+[12457](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007f0 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.42.llvm.9180192027238945235\n+[12458](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000828 __imp_GetSystemTimePreciseAsFileTime\n+[12459](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015111 anon.7a6259c55b9abecd4a2eb0873fc8b779.34.llvm.10283439849247210698\n+[12460](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001e8 _ZN3std2io5stdio14OUTPUT_CAPTURE7__getit5__KEY17h4bf77338c012dfcbE.llvm.11685822864145163790\n+[12461](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000110 __imp_anon.2611162d579b3e706d0c0f15accb8ea6.3.llvm.17987727548992354187\n+[12462](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000050 ___crt_xp_start__\n+[12463](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b68 __imp__GCC_specific_handler\n+[12464](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000918 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.34.llvm.4036729494550109879\n+[12465](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015129 anon.7a6259c55b9abecd4a2eb0873fc8b779.41.llvm.10283439849247210698\n+[12466](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000058f8 anon.2fc0b598515d6d45a6f7a748d37f9e68.20.llvm.9180192027238945235\n+[12467](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008b8 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.2.llvm.4036729494550109879\n+[12468](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000678 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.12.llvm.13665133684747362110\n+[12469](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a280 WaitForSingleObject\n+[12470](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001248 anon.03a7b1eb39947173efb71e48c5b540f4.9.llvm.10021583357862909\n+[12471](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015128 anon.7a6259c55b9abecd4a2eb0873fc8b779.40.llvm.10283439849247210698\n+[12472](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a350 ReadFileEx\n+[12473](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000718 __imp__ZN3std9panicking4HOOK17h33440ca34cb79643E\n+[12474](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000d0 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.26.llvm.12196597439006139751\n+[12475](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a98 __imp_WSACleanup\n+[12476](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007a8 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.16.llvm.9180192027238945235\n+[12477](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000170 __imp_anon.03a7b1eb39947173efb71e48c5b540f4.52.llvm.10021583357862909\n+[12478](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a610 getsockname\n+[12479](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000208f8 _ZN4core7unicode12unicode_data11white_space14WHITESPACE_MAP17h6da2769d9619e572E\n+[12480](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022c30 .refptr.__xc_z\n+[12481](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dd38 anon.07b55acb663eb35d742bae824872f75e.30.llvm.58757282566773765\n+[12482](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d18 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.68.llvm.10283439849247210698\n+[12483](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000061c8 anon.2fc0b598515d6d45a6f7a748d37f9e68.89.llvm.9180192027238945235\n+[12484](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000750 __imp_anon.71b4c3b3c7c90ed67c6b8e618b4d496a.0.llvm.14138378158770856212\n+[12485](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008b0 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.1.llvm.4036729494550109879\n+[12486](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a318 SetFileAttributesW\n+[12487](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000458 __imp_anon.941f0f04b36aa440174d89d326747b6f.27.llvm.16620058351426711825\n+[12488](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d58 __imp_anon.8d718ed12c404e6593cdb19a2e5276ea.18.llvm.819651363561423643\n+[12489](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000010dd0 anon.567cec0599d353b04e33d4229b5f9b30.4.llvm.2628756017061842597\n+[12490](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006d0 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.23.llvm.13665133684747362110\n+[12491](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000074b0 anon.5188eecf01c48ed8fcadadd01fcebeeb.106.llvm.10386673973210777259\n+[12492](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009a8 __imp_WaitForSingleObject\n+[12493](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000460 __imp_anon.941f0f04b36aa440174d89d326747b6f.28.llvm.16620058351426711825\n+[12494](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a90 __imp_anon.5de116bb10f22f2f898f0999be20ad04.10.llvm.16857200617075268833\n+[12495](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000048 __xl_z\n+[12496](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000002154e anon.d5fd6146a7cb5ea87f639cab18b2a05b.45.llvm.3779847476987057767\n+[12497](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000960 __imp_TlsAlloc\n+[12498](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006a78 anon.5188eecf01c48ed8fcadadd01fcebeeb.4.llvm.10386673973210777259\n+[12499](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005b30 anon.2fc0b598515d6d45a6f7a748d37f9e68.41.llvm.9180192027238945235\n+[12500](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001a3c __lib64_libuserenv_a_iname\n+[12501](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004bd8 anon.a43af9cc4981a42dd00b013f8f55f130.58.llvm.13665133684747362110\n+[12502](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000980 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.65.llvm.4036729494550109879\n+[12503](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000040e0 anon.ce6f0c62864fa439afba1682d1475d3d.49.llvm.14048921605721191922\n+[12504](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008a0 _ZN3std3sys3pal7windows1c20SetThreadDescription3PTR17h62a2495fa6119c78E\n+[12505](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bc8 __imp_anon.3bd369ec61590d9272c591ac87029920.2.llvm.2123515186662715695\n+[12506](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000738 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.117.llvm.13665133684747362110\n+[12507](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c28 __imp_anon.9de54bf691a285dd20d4e87e6b508fbd.8.llvm.12123695082059135366\n+[12508](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000080 anon.7ce35b53eeafc768de935b4fef3da959.3.llvm.1024159395525823541\n+[12509](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000015c8 anon.03a7b1eb39947173efb71e48c5b540f4.52.llvm.10021583357862909\n+[12510](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000038 __xl_c\n+[12511](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000e8 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.28.llvm.12196597439006139751\n+[12512](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ec0 __imp__initialize_onexit_table\n+[12513](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009f8 __imp_abort\n+[12514](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000040 __xl_d\n+[12515](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000030b0 anon.edf9b0bdfd963b6a2ea99216811efd5e.85.llvm.65172163764165323\n+[12516](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000029b0 anon.edf9b0bdfd963b6a2ea99216811efd5e.1.llvm.65172163764165323\n+[12517](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003b80 anon.941f0f04b36aa440174d89d326747b6f.53.llvm.16620058351426711825\n+[12518](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004ac0 anon.a43af9cc4981a42dd00b013f8f55f130.53.llvm.13665133684747362110\n+[12519](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a678 WSADuplicateSocketW\n+[12520](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000029b0 anon.edf9b0bdfd963b6a2ea99216811efd5e.0.llvm.65172163764165323\n+[12521](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002848 anon.2d4ed69d03b8b00b295e2865b118c80a.13.llvm.9587153679006429619\n+[12522](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003980 anon.941f0f04b36aa440174d89d326747b6f.32.llvm.16620058351426711825\n+[12523](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006bb8 anon.5188eecf01c48ed8fcadadd01fcebeeb.14.llvm.10386673973210777259\n+[12524](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001ae4 libgcc_s_seh_1_dll_iname\n+[12525](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001384a anon.bb01d4b423a85a795a1692e8cd9c64e5.10.llvm.11285312269184381906\n+[12526](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002280 anon.577344e6c4a90a10ff600a929dedcba7.53.llvm.11685822864145163790\n+[12527](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000640 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.5.llvm.13665133684747362110\n+[12528](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009b0 __imp_WideCharToMultiByte\n+[12529](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015118 anon.7a6259c55b9abecd4a2eb0873fc8b779.37.llvm.10283439849247210698\n+[12530](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007f08 anon.75cd115d168aa5adc70873d7be22c67a.11.llvm.8768119154728042530\n+[12531](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c31b8 ___DTOR_LIST__\n+[12532](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a640 bind\n+[12533](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008e0 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.8.llvm.4036729494550109879\n+[12534](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007c0 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.19.llvm.9180192027238945235\n+[12535](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006c00 anon.5188eecf01c48ed8fcadadd01fcebeeb.16.llvm.10386673973210777259\n+[12536](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000028 __xl_a\n+[12537](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000a0 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.9.llvm.12196597439006139751\n+[12538](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000188 __native_startup_state\n+[12539](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a358 ReadFile\n+[12540](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b48 __imp_anon.c4d194f4cabed4ef9246cda43331cffc.4.llvm.6008810897942320446\n+[12541](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000548 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.80.llvm.14048921605721191922\n+[12542](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000698 __imp_CreateDirectoryW\n+[12543](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008a8 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.0.llvm.4036729494550109879\n+[12544](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006c0 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.21.llvm.13665133684747362110\n+[12545](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e58 __imp_anon.07b55acb663eb35d742bae824872f75e.32.llvm.58757282566773765\n+[12546](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d30 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.71.llvm.10283439849247210698\n+[12547](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000720 __imp_ExitProcess\n+[12548](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002588 anon.577344e6c4a90a10ff600a929dedcba7.83.llvm.11685822864145163790\n+[12549](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ae0 __imp_anon.d13ef5d19e380ff1a25cb10df774bd92.2.llvm.13995198208019911955\n+[12550](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001731d anon.df4f5fc91c1c1e84f2976758feaea474.17.llvm.17095335174290335670\n+[12551](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000970 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.58.llvm.4036729494550109879\n+[12552](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000e8 _ZN3std2rt7cleanup7CLEANUP17h07b9456e6b4bf964E.llvm.14048921605721191922\n+[12553](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b18 __imp_ioctlsocket\n+[12554](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a418 GetOverlappedResult\n+[12555](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e00 __imp_anon.07b55acb663eb35d742bae824872f75e.21.llvm.58757282566773765\n+[12556](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022ec0 __rt_psrelocs_end\n+[12557](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dcf0 anon.07b55acb663eb35d742bae824872f75e.28.llvm.58757282566773765\n+[12558](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008b8 __imp_ReadConsoleW\n+[12559](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000758 __imp_anon.71b4c3b3c7c90ed67c6b8e618b4d496a.1.llvm.14138378158770856212\n+[12560](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006c8 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.22.llvm.13665133684747362110\n+[12561](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001511f anon.7a6259c55b9abecd4a2eb0873fc8b779.38.llvm.10283439849247210698\n+[12562](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c3130 __iob_func\n+[12563](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ad0 __imp_accept\n+[12564](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000020ce anon.577344e6c4a90a10ff600a929dedcba7.35.llvm.11685822864145163790\n+[12565](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002570 anon.577344e6c4a90a10ff600a929dedcba7.82.llvm.11685822864145163790\n+[12566](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a520 CreateThread\n+[12567](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000066f0 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.37.llvm.4036729494550109879\n+[12568](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c3140 fwrite\n+[12569](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000378 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.4.llvm.65172163764165323\n+[12570](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dba8 anon.07b55acb663eb35d742bae824872f75e.6.llvm.58757282566773765\n+[12571](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000cef anon.c5e06b7d2fb27e4271afbca860883ce8.29.llvm.12196597439006139751\n+[12572](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015330 anon.7a6259c55b9abecd4a2eb0873fc8b779.69.llvm.10283439849247210698\n+[12573](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013100 anon.ae9ea30a8e884eaaf6e7ec56ddc7bcd5.0.llvm.12700038450165258506\n+[12574](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000448 __imp_anon.941f0f04b36aa440174d89d326747b6f.14.llvm.16620058351426711825\n+[12575](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a08 __imp_free\n+[12576](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000134c8 anon.3bd369ec61590d9272c591ac87029920.0.llvm.2123515186662715695\n+[12577](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003918 anon.941f0f04b36aa440174d89d326747b6f.28.llvm.16620058351426711825\n+[12578](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002a20 anon.edf9b0bdfd963b6a2ea99216811efd5e.4.llvm.65172163764165323\n+[12579](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000010d98 anon.567cec0599d353b04e33d4229b5f9b30.3.llvm.2628756017061842597\n+[12580](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002b0 __imp__ZN3std10sys_common11thread_info11THREAD_INFO7__getit5__KEY17ha20a47e83639d552E.llvm.11685822864145163790\n+[12581](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006240 anon.2fc0b598515d6d45a6f7a748d37f9e68.94.llvm.9180192027238945235\n+[12582](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000028 __imp_anon.7ce35b53eeafc768de935b4fef3da959.11.llvm.1024159395525823541\n+[12583](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000638 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.4.llvm.13665133684747362110\n+[12584](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a330 RtlVirtualUnwind\n+[12585](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a4c8 FlushFileBuffers\n+[12586](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004458 anon.ce6f0c62864fa439afba1682d1475d3d.80.llvm.14048921605721191922\n+[12587](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000017300 anon.df4f5fc91c1c1e84f2976758feaea474.16.llvm.17095335174290335670\n+[12588](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003e70 anon.ce6f0c62864fa439afba1682d1475d3d.21.llvm.14048921605721191922\n+[12589](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004d0 __imp__ZN3std3sys3pal7windows1c8KERNEL3217h9414b6c65f82effbE\n+[12590](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005738 anon.2fc0b598515d6d45a6f7a748d37f9e68.4.llvm.9180192027238945235\n+[12591](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000103a0 anon.d13ef5d19e380ff1a25cb10df774bd92.4.llvm.13995198208019911955\n+[12592](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a68 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.107.llvm.10386673973210777259\n+[12593](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013c10 anon.1cd6cbb5d23cd003f709872fa6a8a6dd.30.llvm.9517595369394268439\n+[12594](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003e0 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.85.llvm.65172163764165323\n+[12595](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000408 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.116.llvm.65172163764165323\n+[12596](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007c37 anon.5de116bb10f22f2f898f0999be20ad04.10.llvm.16857200617075268833\n+[12597](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000780 __imp_GetCurrentThread\n+[12598](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a660 WSASend\n+[12599](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000b0 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.22.llvm.12196597439006139751\n+[12600](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009a0 __imp_WaitForMultipleObjects\n+[12601](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a38 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.101.llvm.10386673973210777259\n+[12602](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000818 __imp_GetSystemDirectoryW\n+[12603](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000021e0 anon.577344e6c4a90a10ff600a929dedcba7.48.llvm.11685822864145163790\n+[12604](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005590 anon.71b4c3b3c7c90ed67c6b8e618b4d496a.2.llvm.14138378158770856212\n+[12605](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000047ee anon.a43af9cc4981a42dd00b013f8f55f130.5.llvm.13665133684747362110\n+[12606](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000228 __imp_anon.577344e6c4a90a10ff600a929dedcba7.5.llvm.11685822864145163790\n+[12607](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000062a4 anon.2fc0b598515d6d45a6f7a748d37f9e68.99.llvm.9180192027238945235\n+[12608](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a320 SetEnvironmentVariableW\n+[12609](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006120 anon.2fc0b598515d6d45a6f7a748d37f9e68.86.llvm.9180192027238945235\n+[12610](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000062b5 anon.2fc0b598515d6d45a6f7a748d37f9e68.101.llvm.9180192027238945235\n+[12611](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015113 anon.7a6259c55b9abecd4a2eb0873fc8b779.35.llvm.10283439849247210698\n+[12612](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000390 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.54.llvm.65172163764165323\n+[12613](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003970 anon.941f0f04b36aa440174d89d326747b6f.31.llvm.16620058351426711825\n+[12614](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005881 anon.2fc0b598515d6d45a6f7a748d37f9e68.17.llvm.9180192027238945235\n+[12615](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006180 anon.2fc0b598515d6d45a6f7a748d37f9e68.88.llvm.9180192027238945235\n+[12616](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a600 ioctlsocket\n+[12617](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006f68 anon.5188eecf01c48ed8fcadadd01fcebeeb.50.llvm.10386673973210777259\n+[12618](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000840 anon.08c341bb7f186daefc16bdd18254cc9c.4.llvm.2852608270795916942\n+[12619](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ca0 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.40.llvm.10283439849247210698\n+[12620](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003c90 anon.ce6f0c62864fa439afba1682d1475d3d.0.llvm.14048921605721191922\n+[12621](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000055f8 anon.71b4c3b3c7c90ed67c6b8e618b4d496a.6.llvm.14138378158770856212\n+[12622](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000420 __imp_anon.941f0f04b36aa440174d89d326747b6f.6.llvm.16620058351426711825\n+[12623](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ef0 _CRT_MT\n+[12624](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000648 __imp_WakeByAddressAll\n+[12625](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000980 __imp_UnmapViewOfFile\n+[12626](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000878 __imp_LeaveCriticalSection\n+[12627](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e28 __imp_anon.07b55acb663eb35d742bae824872f75e.26.llvm.58757282566773765\n+[12628](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000cc8 anon.c5e06b7d2fb27e4271afbca860883ce8.26.llvm.12196597439006139751\n+[12629](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000cb8 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.43.llvm.10283439849247210698\n+[12630](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a2b8 TlsAlloc\n+[12631](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a3d8 GetTempPathW\n+[12632](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006279 anon.2fc0b598515d6d45a6f7a748d37f9e68.96.llvm.9180192027238945235\n+[12633](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000171c0 anon.df4f5fc91c1c1e84f2976758feaea474.14.llvm.17095335174290335670\n+[12634](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000dc0 __imp_anon.df4f5fc91c1c1e84f2976758feaea474.21.llvm.17095335174290335670\n+[12635](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000002 __minor_subsystem_version__\n+[12636](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000010e68 anon.567cec0599d353b04e33d4229b5f9b30.9.llvm.2628756017061842597\n+[12637](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004e8 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.18.llvm.14048921605721191922\n+[12638](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001268 anon.03a7b1eb39947173efb71e48c5b540f4.10.llvm.10021583357862909\n+[12639](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000760 __imp_anon.71b4c3b3c7c90ed67c6b8e618b4d496a.2.llvm.14138378158770856212\n+[12640](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000100000 __size_of_heap_reserve__\n+[12641](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004877 anon.a43af9cc4981a42dd00b013f8f55f130.16.llvm.13665133684747362110\n+[12642](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001396f anon.9de54bf691a285dd20d4e87e6b508fbd.9.llvm.12123695082059135366\n+[12643](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a4c0 FormatMessageW\n+[12644](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000016708 _ZN4core7unicode12unicode_data15grapheme_extend7OFFSETS17h442f9377d3be9cdfE.llvm.819651363561423643\n+[12645](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2144 ProcessPrng\n+[12646](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000320 __imp_anon.2d4ed69d03b8b00b295e2865b118c80a.14.llvm.9587153679006429619\n+[12647](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006b8 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.20.llvm.13665133684747362110\n+[12648](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000b0 _ZN3std2io5stdio6stderr8INSTANCE17h050c730875ffdbc8E\n+[12649](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003930 anon.941f0f04b36aa440174d89d326747b6f.29.llvm.16620058351426711825\n+[12650](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a338 RtlLookupFunctionEntry\n+[12651](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022c40 .refptr.__xi_a\n+[12652](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a28 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.70.llvm.10386673973210777259\n+[12653](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009c8 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.12.llvm.10386673973210777259\n+[12654](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a50 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.104.llvm.10386673973210777259\n+[12655](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000064 _head_lib64_libuserenv_a\n+[12656](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a4d0 FindNextFileW\n+[12657](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003900 anon.941f0f04b36aa440174d89d326747b6f.27.llvm.16620058351426711825\n+[12658](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c20 __imp_anon.9de54bf691a285dd20d4e87e6b508fbd.7.llvm.12123695082059135366\n+[12659](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009f0 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.46.llvm.10386673973210777259\n+[12660](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000cf8 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.64.llvm.10283439849247210698\n+[12661](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d60 __imp_anon.8d718ed12c404e6593cdb19a2e5276ea.22.llvm.819651363561423643\n+[12662](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000870 anon.08c341bb7f186daefc16bdd18254cc9c.6.llvm.2852608270795916942\n+[12663](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000079d8 anon.b600da5f5c44c0dd2674915485b1c9f6.0.llvm.9103046057031032332\n+[12664](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022c50 .refptr.__xi_z\n+[12665](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a438 GetLastError\n+[12666](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000138 _ZN3std3sys3pal7windows5alloc4HEAP17h34e549f5a2364763E\n+[12667](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000428 __imp_anon.941f0f04b36aa440174d89d326747b6f.10.llvm.16620058351426711825\n+[12668](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000b8 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.23.llvm.12196597439006139751\n+[12669](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b60 __imp_anon.7ec0d7d1b51f482853d19890eaa43e99.0.llvm.4855701895496871646\n+[12670](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000878 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.96.llvm.9180192027238945235\n+[12671](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007f8 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.43.llvm.9180192027238945235\n+[12672](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e60 __imp__ZN4core3num7dec2flt5table17POWER_OF_FIVE_12817h1308de4d59502321E\n+[12673](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b58 __imp_anon.d5e7fe67f7f67b071ebb27a2ce9d6115.0.llvm.16008337483328089059\n+[12674](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006fa0 anon.5188eecf01c48ed8fcadadd01fcebeeb.52.llvm.10386673973210777259\n+[12675](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000220 __imp_anon.577344e6c4a90a10ff600a929dedcba7.4.llvm.11685822864145163790\n+[12676](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b78 __imp__Unwind_GetDataRelBase\n+[12677](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000308 __imp_anon.2d4ed69d03b8b00b295e2865b118c80a.7.llvm.9587153679006429619\n+[12678](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000020f0 anon.577344e6c4a90a10ff600a929dedcba7.36.llvm.11685822864145163790\n+[12679](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000028 _head_lib64_libkernel32_a\n+[12680](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006a38 anon.5188eecf01c48ed8fcadadd01fcebeeb.3.llvm.10386673973210777259\n+[12681](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000728 __imp_FindClose\n+[12682](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000798 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.14.llvm.9180192027238945235\n+[12683](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a560 CreateDirectoryW\n+[12684](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001288 anon.03a7b1eb39947173efb71e48c5b540f4.11.llvm.10021583357862909\n+[12685](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000044d0 anon.ce6f0c62864fa439afba1682d1475d3d.84.llvm.14048921605721191922\n+[12686](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000018 pcinit\n+[12687](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000860 __imp_InitOnceComplete\n+[12688](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000918 __imp_SetFileTime\n+[12689](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004430 anon.ce6f0c62864fa439afba1682d1475d3d.79.llvm.14048921605721191922\n+[12690](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c3170 InitializeCriticalSection\n+[12691](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004b8 __imp_anon.941f0f04b36aa440174d89d326747b6f.58.llvm.16620058351426711825\n+[12692](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ab0 anon.c5e06b7d2fb27e4271afbca860883ce8.7.llvm.12196597439006139751\n+[12693](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000012f90 anon.7ec0d7d1b51f482853d19890eaa43e99.13.llvm.4855701895496871646\n+[12694](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a70 __imp___rust_alloc_error_handler_should_panic\n+[12695](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000560 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.83.llvm.14048921605721191922\n+[12696](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000de0 __imp_anon.07b55acb663eb35d742bae824872f75e.12.llvm.58757282566773765\n+[12697](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000af0 __imp_anon.d13ef5d19e380ff1a25cb10df774bd92.4.llvm.13995198208019911955\n+[12698](sec 11)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 _tls_start\n+[12699](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bb8 __imp__Unwind_SetIP\n+[12700](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000888 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.99.llvm.9180192027238945235\n+[12701](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000002159e anon.d5fd6146a7cb5ea87f639cab18b2a05b.46.llvm.3779847476987057767\n+[12702](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a558 CreateEventW\n+[12703](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000888 __imp_Module32FirstW\n+[12704](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a388 Module32NextW\n+[12705](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b50 __imp_anon.c4d194f4cabed4ef9246cda43331cffc.5.llvm.6008810897942320446\n+[12706](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015132 anon.7a6259c55b9abecd4a2eb0873fc8b779.48.llvm.10283439849247210698\n+[12707](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001a0 __mingw_app_type\n+[12708](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e68 __imp__ZN4core7unicode12unicode_data11white_space14WHITESPACE_MAP17h6da2769d9619e572E\n+[12709](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004be8 anon.a43af9cc4981a42dd00b013f8f55f130.59.llvm.13665133684747362110\n+[12710](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000778 __imp_GetCurrentProcessId\n+[12711](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a5d8 send\n+[12712](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000200000 __size_of_stack_reserve__\n+[12713](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c80 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.36.llvm.10283439849247210698\n+[12714](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000568 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.84.llvm.14048921605721191922\n+[12715](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002a48 anon.edf9b0bdfd963b6a2ea99216811efd5e.5.llvm.65172163764165323\n+[12716](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009c0 __imp_WriteFileEx\n+[12717](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000df8 __imp_anon.07b55acb663eb35d742bae824872f75e.20.llvm.58757282566773765\n+[12718](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000810 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.46.llvm.9180192027238945235\n+[12719](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000648 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.6.llvm.13665133684747362110\n+[12720](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e90 __imp_anon.d5fd6146a7cb5ea87f639cab18b2a05b.44.llvm.3779847476987057767\n+[12721](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a298 UnmapViewOfFile\n+[12722](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002de0 anon.edf9b0bdfd963b6a2ea99216811efd5e.53.llvm.65172163764165323\n+[12723](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dcd0 anon.07b55acb663eb35d742bae824872f75e.26.llvm.58757282566773765\n+[12724](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ee0 __native_vcclrit_reason\n+[12725](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a518 CreateToolhelp32Snapshot\n+[12726](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c88 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.37.llvm.10283439849247210698\n+[12727](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a68 __imp_NtReadFile\n+[12728](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009e0 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.15.llvm.10386673973210777259\n+[12729](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a628 freeaddrinfo\n+[12730](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000081a8 anon.fc3e879c0d0583c039a7967db6c0c117.0.llvm.14670435032436802275\n+[12731](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000028a8 anon.2d4ed69d03b8b00b295e2865b118c80a.16.llvm.9587153679006429619\n+[12732](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000017050 anon.df4f5fc91c1c1e84f2976758feaea474.2.llvm.17095335174290335670\n+[12733](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000700 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.59.llvm.13665133684747362110\n+[12734](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000128 __imp_anon.03a7b1eb39947173efb71e48c5b540f4.3.llvm.10021583357862909\n+[12735](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000850 __imp_HeapReAlloc\n+[12736](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a08 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.49.llvm.10386673973210777259\n+[12737](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000c8 anon.7ce35b53eeafc768de935b4fef3da959.4.llvm.1024159395525823541\n+[12738](sec 0)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __end__\n+[12739](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003c38 anon.941f0f04b36aa440174d89d326747b6f.60.llvm.16620058351426711825\n+[12740](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e40 __imp_anon.07b55acb663eb35d742bae824872f75e.29.llvm.58757282566773765\n+[12741](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005bb8 anon.2fc0b598515d6d45a6f7a748d37f9e68.46.llvm.9180192027238945235\n+[12742](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000108 __imp_anon.2611162d579b3e706d0c0f15accb8ea6.2.llvm.17987727548992354187\n+[12743](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000cc0 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.44.llvm.10283439849247210698\n+[12744](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000221a anon.577344e6c4a90a10ff600a929dedcba7.51.llvm.11685822864145163790\n+[12745](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002158 anon.577344e6c4a90a10ff600a929dedcba7.41.llvm.11685822864145163790\n+[12746](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007e88 anon.75cd115d168aa5adc70873d7be22c67a.7.llvm.8768119154728042530\n+[12747](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bf0 __imp_anon.bb01d4b423a85a795a1692e8cd9c64e5.9.llvm.11285312269184381906\n+[12748](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ba0 __imp__Unwind_RaiseException\n+[12749](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007b8 __imp_GetFileType\n+[12750](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009b8 __imp_WriteConsoleW\n+[12751](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007d8 __imp_GetModuleFileNameW\n+[12752](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006e8 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.54.llvm.13665133684747362110\n+[12753](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000430 __imp_anon.941f0f04b36aa440174d89d326747b6f.11.llvm.16620058351426711825\n+[12754](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b80 __imp_anon.ae9ea30a8e884eaaf6e7ec56ddc7bcd5.0.llvm.12700038450165258506\n [12755](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006a0 __imp_CreateEventW\n [12756](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ce8 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.49.llvm.10283439849247210698\n [12757](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dcc8 anon.07b55acb663eb35d742bae824872f75e.21.llvm.58757282566773765\n [12758](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c3180 DeleteCriticalSection\n [12759](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000046e0 anon.ce6f0c62864fa439afba1682d1475d3d.115.llvm.14048921605721191922\n [12760](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001512b anon.7a6259c55b9abecd4a2eb0873fc8b779.42.llvm.10283439849247210698\n [12761](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a2f0 SetLastError\n@@ -37128,496 +37128,496 @@\n [12784](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000990 __imp__ZN3std3sys3pal7windows1c20SetThreadDescription3PTR17h62a2495fa6119c78E\n [12785](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dcb0 anon.07b55acb663eb35d742bae824872f75e.20.llvm.58757282566773765\n [12786](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003240 anon.edf9b0bdfd963b6a2ea99216811efd5e.111.llvm.65172163764165323\n [12787](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000770 __imp_GetCurrentProcess\n [12788](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000012990 anon.c4d194f4cabed4ef9246cda43331cffc.5.llvm.6008810897942320446\n [12789](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a2e0 SetWaitableTimer\n [12790](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008a0 __imp_MultiByteToWideChar\n-[12791](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000017370 anon.df4f5fc91c1c1e84f2976758feaea474.20.llvm.17095335174290335670\n-[12792](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009e8 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.16.llvm.10386673973210777259\n-[12793](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013920 anon.9de54bf691a285dd20d4e87e6b508fbd.6.llvm.12123695082059135366\n-[12794](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008c8 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.6.llvm.4036729494550109879\n-[12795](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000128 _ZN3std6thread8ThreadId3new7COUNTER17hf61725333ea7cf69E.llvm.13665133684747362110\n-[12796](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000152d8 anon.7a6259c55b9abecd4a2eb0873fc8b779.65.llvm.10283439849247210698\n-[12797](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2188 _Unwind_RaiseException\n-[12798](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c2350 calloc\n-[12799](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000868 __imp_InitializeCriticalSection\n-[12800](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000730 __imp_FindFirstFileW\n-[12801](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000db8 __imp_anon.df4f5fc91c1c1e84f2976758feaea474.20.llvm.17095335174290335670\n-[12802](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003078 anon.edf9b0bdfd963b6a2ea99216811efd5e.81.llvm.65172163764165323\n-[12803](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004778 anon.ce6f0c62864fa439afba1682d1475d3d.121.llvm.14048921605721191922\n-[12804](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000010 ___crt_xi_start__\n-[12805](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000090 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.7.llvm.12196597439006139751\n-[12806](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015378 anon.7a6259c55b9abecd4a2eb0873fc8b779.72.llvm.10283439849247210698\n-[12807](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007478 anon.5188eecf01c48ed8fcadadd01fcebeeb.104.llvm.10386673973210777259\n-[12808](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000307c anon.edf9b0bdfd963b6a2ea99216811efd5e.82.llvm.65172163764165323\n-[12809](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002b8 __imp__ZN3std4sync14reentrant_lock25current_thread_unique_ptr1X7__getit5__KEY17h077daefc5f25ce95E.llvm.11685822864145163790\n-[12810](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2170 _Unwind_SetIP\n-[12811](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a58 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.106.llvm.10386673973210777259\n-[12812](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000840 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.88.llvm.9180192027238945235\n-[12813](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006648 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.31.llvm.4036729494550109879\n-[12814](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b40 __imp_anon.c4d194f4cabed4ef9246cda43331cffc.3.llvm.6008810897942320446\n-[12815](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002a0 __imp_anon.577344e6c4a90a10ff600a929dedcba7.84.llvm.11685822864145163790\n-[12816](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dcca anon.07b55acb663eb35d742bae824872f75e.24.llvm.58757282566773765\n-[12817](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004c0 __imp_anon.941f0f04b36aa440174d89d326747b6f.59.llvm.16620058351426711825\n-[12818](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000011c8 anon.03a7b1eb39947173efb71e48c5b540f4.5.llvm.10021583357862909\n-[12819](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003e4f anon.ce6f0c62864fa439afba1682d1475d3d.19.llvm.14048921605721191922\n-[12820](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000570 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.115.llvm.14048921605721191922\n-[12821](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000af8 anon.c5e06b7d2fb27e4271afbca860883ce8.10.llvm.12196597439006139751\n-[12822](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000748 __imp__ZN3std4sync4mpmc5waker17current_thread_id5DUMMY7__getit5__KEY17h8fc5a22a2d7694d4E.llvm.13665133684747362110\n-[12823](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008d8 __imp_str.0.llvm.4036729494550109879\n-[12824](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015125 anon.7a6259c55b9abecd4a2eb0873fc8b779.39.llvm.10283439849247210698\n-[12825](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a608 getsockopt\n-[12826](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006790 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.42.llvm.4036729494550109879\n-[12827](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000668 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.10.llvm.13665133684747362110\n-[12828](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006392 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.9.llvm.4036729494550109879\n-[12829](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000005 __major_subsystem_version__\n-[12830](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006710 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.38.llvm.4036729494550109879\n-[12831](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000820 __imp_GetSystemInfo\n-[12832](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002d8 __imp_anon.2d4ed69d03b8b00b295e2865b118c80a.1.llvm.9587153679006429619\n-[12833](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000012930 anon.c4d194f4cabed4ef9246cda43331cffc.2.llvm.6008810897942320446\n-[12834](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006b0 __imp_CreateFileW\n-[12835](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a2b0 TlsFree\n-[12836](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a368 QueryPerformanceFrequency\n-[12837](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006f50 anon.5188eecf01c48ed8fcadadd01fcebeeb.49.llvm.10386673973210777259\n-[12838](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d20 anon.2611162d579b3e706d0c0f15accb8ea6.0.llvm.17987727548992354187\n-[12839](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000010358 anon.d13ef5d19e380ff1a25cb10df774bd92.3.llvm.13995198208019911955\n-[12840](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022c10 .refptr.__rust_alloc_error_handler_should_panic\n-[12841](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006a8 __imp_CreateFileMappingA\n-[12842](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000db0 __imp_anon.df4f5fc91c1c1e84f2976758feaea474.19.llvm.17095335174290335670\n-[12843](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000628 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.2.llvm.13665133684747362110\n-[12844](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000838 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.87.llvm.9180192027238945235\n-[12845](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000140 __imp_anon.03a7b1eb39947173efb71e48c5b540f4.8.llvm.10021583357862909\n-[12846](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000240 __imp__ZN3std2io5stdio6STDOUT17h54404b6e0dbb130cE.llvm.11685822864145163790\n-[12847](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003c8 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.82.llvm.65172163764165323\n-[12848](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000152c8 anon.7a6259c55b9abecd4a2eb0873fc8b779.64.llvm.10283439849247210698\n-[12849](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a2e8 SetThreadStackGuarantee\n-[12850](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006e0 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.53.llvm.13665133684747362110\n-[12851](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000af0 __imp_freeaddrinfo\n-[12852](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009b0 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.3.llvm.10386673973210777259\n-[12853](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a348 RemoveDirectoryW\n-[12854](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a468 GetFileAttributesW\n-[12855](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a3a0 InitializeProcThreadAttributeList\n-[12856](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d70 __imp__ZN4core7unicode12unicode_data15grapheme_extend17SHORT_OFFSET_RUNS17hcc65fb30137b448cE.llvm.819651363561423643\n-[12857](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002260 anon.577344e6c4a90a10ff600a929dedcba7.52.llvm.11685822864145163790\n-[12858](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000778 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.10.llvm.9180192027238945235\n-[12859](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006b78 anon.5188eecf01c48ed8fcadadd01fcebeeb.12.llvm.10386673973210777259\n-[12860](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c50 __imp__ZN4core3num7flt2dec8strategy5grisu12CACHED_POW1017hc29b3bf8237d228dE\n-[12861](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008d0 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.7.llvm.4036729494550109879\n-[12862](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000120 __imp_anon.03a7b1eb39947173efb71e48c5b540f4.2.llvm.10021583357862909\n-[12863](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d50 anon.2611162d579b3e706d0c0f15accb8ea6.1.llvm.17987727548992354187\n-[12864](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000768 __imp_anon.71b4c3b3c7c90ed67c6b8e618b4d496a.6.llvm.14138378158770856212\n-[12865](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a378 MultiByteToWideChar\n-[12866](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000728 __imp__ZN3std6thread8ThreadId3new7COUNTER17hf61725333ea7cf69E.llvm.13665133684747362110\n-[12867](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000050 ___crt_xt_end__\n-[12868](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b00 __imp_getpeername\n-[12869](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b70 __imp__Unwind_DeleteException\n-[12870](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000298 __imp_anon.577344e6c4a90a10ff600a929dedcba7.83.llvm.11685822864145163790\n-[12871](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001a8 _ZN3std10sys_common11thread_info11THREAD_INFO7__getit5__KEY17ha20a47e83639d552E.llvm.11685822864145163790\n-[12872](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013c18 anon.1cd6cbb5d23cd003f709872fa6a8a6dd.31.llvm.9517595369394268439\n-[12873](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003e14 anon.ce6f0c62864fa439afba1682d1475d3d.18.llvm.14048921605721191922\n-[12874](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a3b0 InitOnceBeginInitialize\n-[12875](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000017200 anon.df4f5fc91c1c1e84f2976758feaea474.15.llvm.17095335174290335670\n-[12876](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000047a8 anon.a43af9cc4981a42dd00b013f8f55f130.0.llvm.13665133684747362110\n-[12877](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a650 WSAStartup\n-[12878](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ae0 anon.c5e06b7d2fb27e4271afbca860883ce8.9.llvm.12196597439006139751\n-[12879](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000050 ___crt_xt_start__\n-[12880](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000165d8 anon.8d718ed12c404e6593cdb19a2e5276ea.23.llvm.819651363561423643\n-[12881](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022ec0 ___RUNTIME_PSEUDO_RELOC_LIST__\n-[12882](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2198 _Unwind_GetRegionStart\n-[12883](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000828 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.85.llvm.9180192027238945235\n-[12884](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000067e8 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.45.llvm.4036729494550109879\n-[12885](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000016684 _ZN4core7unicode12unicode_data15grapheme_extend17SHORT_OFFSET_RUNS17hcc65fb30137b448cE.llvm.819651363561423643\n-[12886](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a470 GetExitCodeProcess\n-[12887](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002740 anon.2d4ed69d03b8b00b295e2865b118c80a.4.llvm.9587153679006429619\n-[12888](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000026d0 anon.2d4ed69d03b8b00b295e2865b118c80a.0.llvm.9587153679006429619\n-[12889](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000152f8 anon.7a6259c55b9abecd4a2eb0873fc8b779.66.llvm.10283439849247210698\n-[12890](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000708 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.65.llvm.13665133684747362110\n-[12891](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000698 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.16.llvm.13665133684747362110\n-[12892](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ac0 __imp_WSASocketW\n-[12893](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000078 _head_lib64_libws2_32_a\n-[12894](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a308 SetFilePointerEx\n-[12895](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015928 anon.d59256ba366f0704cef723753273bccf.6.llvm.4660425447921612699\n-[12896](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __major_image_version__\n-[12897](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001000 __section_alignment__\n-[12898](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000068 __imp_anon.08c341bb7f186daefc16bdd18254cc9c.7.llvm.2852608270795916942\n-[12899](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a3e8 GetSystemInfo\n-[12900](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007438 anon.5188eecf01c48ed8fcadadd01fcebeeb.101.llvm.10386673973210777259\n-[12901](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000010ed0 anon.567cec0599d353b04e33d4229b5f9b30.12.llvm.2628756017061842597\n-[12902](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000660 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.9.llvm.13665133684747362110\n-[12903](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000908 __imp_SetFileInformationByHandle\n-[12904](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004468 anon.ce6f0c62864fa439afba1682d1475d3d.81.llvm.14048921605721191922\n-[12905](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003750 anon.941f0f04b36aa440174d89d326747b6f.13.llvm.16620058351426711825\n-[12906](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000858 anon.08c341bb7f186daefc16bdd18254cc9c.5.llvm.2852608270795916942\n-[12907](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000a8 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.10.llvm.12196597439006139751\n-[12908](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d90 __imp_anon.df4f5fc91c1c1e84f2976758feaea474.15.llvm.17095335174290335670\n-[12909](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000100 __imp_anon.2611162d579b3e706d0c0f15accb8ea6.1.llvm.17987727548992354187\n-[12910](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006210 anon.2fc0b598515d6d45a6f7a748d37f9e68.92.llvm.9180192027238945235\n-[12911](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000250 __imp_anon.577344e6c4a90a10ff600a929dedcba7.36.llvm.11685822864145163790\n-[12912](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008f0 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.10.llvm.4036729494550109879\n-[12913](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000048bb anon.a43af9cc4981a42dd00b013f8f55f130.21.llvm.13665133684747362110\n-[12914](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a510 CreateWaitableTimerExW\n-[12915](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002868 anon.2d4ed69d03b8b00b295e2865b118c80a.14.llvm.9587153679006429619\n-[12916](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000500 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.21.llvm.14048921605721191922\n-[12917](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000678 __imp_CancelIo\n-[12918](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008c0 __imp_ReadFile\n-[12919](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000260 __imp__ZN3std2io5stdio6stderr8INSTANCE17h050c730875ffdbc8E\n-[12920](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ac0 __imp_anon.75cd115d168aa5adc70873d7be22c67a.11.llvm.8768119154728042530\n-[12921](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000520 __imp__ZN3std10sys_common9backtrace4lock4LOCK17h96194423af38a9eeE.llvm.14048921605721191922\n-[12922](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000540 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.79.llvm.14048921605721191922\n-[12923](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a458 GetFileInformationByHandleEx\n-[12924](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022c00 .refptr.__native_startup_state\n-[12925](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a4a0 GetCurrentDirectoryW\n-[12926](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000930 __imp_SetThreadStackGuarantee\n-[12927](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dc80 anon.07b55acb663eb35d742bae824872f75e.19.llvm.58757282566773765\n-[12928](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2190 _Unwind_GetTextRelBase\n-[12929](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000081d8 anon.fc3e879c0d0583c039a7967db6c0c117.1.llvm.14670435032436802275\n-[12930](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001654b anon.8d718ed12c404e6593cdb19a2e5276ea.18.llvm.819651363561423643\n-[12931](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000028 ___crt_xl_start__\n-[12932](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005548 anon.71b4c3b3c7c90ed67c6b8e618b4d496a.0.llvm.14138378158770856212\n-[12933](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c31b8 __DTOR_LIST__\n-[12934](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004b20 anon.a43af9cc4981a42dd00b013f8f55f130.54.llvm.13665133684747362110\n-[12935](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008d8 __imp_RtlCaptureContext\n-[12936](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000f0 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.29.llvm.12196597439006139751\n-[12937](sec 4)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 rust_metadata_std_9f917a5e7a74ff1\n-[12938](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006f0 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.57.llvm.13665133684747362110\n-[12939](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a450 GetFileType\n-[12940](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a408 GetProcessHeap\n-[12941](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a40 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.102.llvm.10386673973210777259\n-[12942](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000be8 __imp_anon.bb01d4b423a85a795a1692e8cd9c64e5.2.llvm.11285312269184381906\n-[12943](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000062c0 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.1.llvm.4036729494550109879\n-[12944](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a18 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.51.llvm.10386673973210777259\n-[12945](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000960 __imp__ZN3std3sys3pal7windows5alloc4HEAP17h34e549f5a2364763E\n-[12946](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008c8 __imp_ReadFileEx\n-[12947](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000400 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.111.llvm.65172163764165323\n-[12948](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000047e0 anon.a43af9cc4981a42dd00b013f8f55f130.4.llvm.13665133684747362110\n-[12949](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004a0 __imp_anon.941f0f04b36aa440174d89d326747b6f.53.llvm.16620058351426711825\n-[12950](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000590 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.119.llvm.14048921605721191922\n-[12951](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dc68 anon.07b55acb663eb35d742bae824872f75e.18.llvm.58757282566773765\n-[12952](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __bss_start__\n-[12953](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c3160 VirtualProtect\n-[12954](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e30 __imp_anon.07b55acb663eb35d742bae824872f75e.27.llvm.58757282566773765\n-[12955](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000134c8 anon.3bd369ec61590d9272c591ac87029920.1.llvm.2123515186662715695\n-[12956](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000071d8 anon.5188eecf01c48ed8fcadadd01fcebeeb.71.llvm.10386673973210777259\n-[12957](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000518 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.49.llvm.14048921605721191922\n-[12958](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000550 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.81.llvm.14048921605721191922\n-[12959](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003d0 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.83.llvm.65172163764165323\n-[12960](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a5c8 setsockopt\n-[12961](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006740 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.40.llvm.4036729494550109879\n-[12962](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000017d0 ___tmp_rustcBv6EAf_api_ms_win_core_synch_l1_2_0_lib_iname\n-[12963](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007e0 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.40.llvm.9180192027238945235\n-[12964](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000650 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.7.llvm.13665133684747362110\n-[12965](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d40 __imp_anon.d59256ba366f0704cef723753273bccf.6.llvm.4660425447921612699\n-[12966](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007a50 anon.e2378e14a3ab6920970de912c40858fb.1.llvm.12155384279649763508\n-[12967](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004886 anon.a43af9cc4981a42dd00b013f8f55f130.17.llvm.13665133684747362110\n-[12968](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ce0 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.48.llvm.10283439849247210698\n-[12969](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a88 __imp_GetUserProfileDirectoryW\n-[12970](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022bb0 .refptr.__dyn_tls_init_callback\n-[12971](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000690 __imp_CopyFileExW\n-[12972](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000700 __imp_DeleteProcThreadAttributeList\n-[12973](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002c8 __imp__ZN3std9panicking11panic_count18GLOBAL_PANIC_COUNT17h5b40b3f81b5486b3E\n-[12974](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000dc8 __imp_anon.07b55acb663eb35d742bae824872f75e.1.llvm.58757282566773765\n-[12975](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009c0 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.11.llvm.10386673973210777259\n-[12976](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000581c anon.2fc0b598515d6d45a6f7a748d37f9e68.13.llvm.9180192027238945235\n-[12977](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000070 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.0.llvm.12196597439006139751\n-[12978](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000027c0 anon.2d4ed69d03b8b00b295e2865b118c80a.7.llvm.9587153679006429619\n-[12979](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __minor_image_version__\n-[12980](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000838 __imp_GetWindowsDirectoryW\n-[12981](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dd08 anon.07b55acb663eb35d742bae824872f75e.29.llvm.58757282566773765\n-[12982](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007d0 __imp_GetLastError\n-[12983](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002e48 anon.edf9b0bdfd963b6a2ea99216811efd5e.55.llvm.65172163764165323\n-[12984](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000071b0 anon.5188eecf01c48ed8fcadadd01fcebeeb.70.llvm.10386673973210777259\n-[12985](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000010 __imp_anon.7ce35b53eeafc768de935b4fef3da959.2.llvm.1024159395525823541\n-[12986](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000880 __imp_MapViewOfFile\n-[12987](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000168 __imp_anon.03a7b1eb39947173efb71e48c5b540f4.51.llvm.10021583357862909\n-[12988](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009d0 anon.c5e06b7d2fb27e4271afbca860883ce8.0.llvm.12196597439006139751\n-[12989](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000880 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.97.llvm.9180192027238945235\n-[12990](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007b8 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.18.llvm.9180192027238945235\n-[12991](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000050 ___crt_xp_end__\n-[12992](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ae8 __imp_anon.d13ef5d19e380ff1a25cb10df774bd92.3.llvm.13995198208019911955\n-[12993](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000048cd anon.a43af9cc4981a42dd00b013f8f55f130.22.llvm.13665133684747362110\n-[12994](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000578 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.116.llvm.14048921605721191922\n-[12995](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000018 __imp_anon.7ce35b53eeafc768de935b4fef3da959.3.llvm.1024159395525823541\n-[12996](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c58 __imp__ZN4core3fmt2rt12USIZE_MARKER17hd232ed6d40ac3ff2E\n-[12997](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000020 __imp_anon.7ce35b53eeafc768de935b4fef3da959.4.llvm.1024159395525823541\n-[12998](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000990 __imp_VirtualProtect\n-[12999](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006d8 __imp_CreateThread\n-[13000](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000388 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.53.llvm.65172163764165323\n-[13001](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b00 __imp_anon.567cec0599d353b04e33d4229b5f9b30.4.llvm.2628756017061842597\n-[13002](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a70 __imp_NtWriteFile\n-[13003](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000020ad0 anon.34ba7072d2fdbfb72b844525ea0f1e7b.0.llvm.3215435228619338225\n-[13004](sec 11)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 ___tls_start__\n-[13005](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ca8 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.41.llvm.10283439849247210698\n-[13006](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000038 __imp_anon.08c341bb7f186daefc16bdd18254cc9c.0.llvm.2852608270795916942\n-[13007](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a460 GetFileInformationByHandle\n-[13008](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a618 getpeername\n-[13009](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001a2c __lib64_libntdll_a_iname\n-[13010](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002fe8 anon.edf9b0bdfd963b6a2ea99216811efd5e.76.llvm.65172163764165323\n-[13011](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000f0 _ZN3std10sys_common9backtrace4lock4LOCK17h96194423af38a9eeE.llvm.14048921605721191922\n-[13012](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000800 __imp_GetProcessHeap\n-[13013](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000074c8 anon.5188eecf01c48ed8fcadadd01fcebeeb.107.llvm.10386673973210777259\n-[13014](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007b0 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.17.llvm.9180192027238945235\n-[13015](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000cf0 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.50.llvm.10283439849247210698\n-[13016](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000278 __imp_anon.577344e6c4a90a10ff600a929dedcba7.52.llvm.11685822864145163790\n-[13017](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a48 __imp_strncmp\n-[13018](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001eb0 anon.577344e6c4a90a10ff600a929dedcba7.6.llvm.11685822864145163790\n-[13019](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000470 __imp_anon.941f0f04b36aa440174d89d326747b6f.30.llvm.16620058351426711825\n-[13020](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000978 __imp_TlsSetValue\n-[13021](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000790 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.13.llvm.9180192027238945235\n-[13022](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009d8 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.14.llvm.10386673973210777259\n-[13023](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000047d5 anon.a43af9cc4981a42dd00b013f8f55f130.3.llvm.13665133684747362110\n-[13024](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022b90 .refptr.__RUNTIME_PSEUDO_RELOC_LIST_END__\n-[13025](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000019c _tls_index\n-[13026](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000650 __imp_WakeByAddressSingle\n-[13027](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000cb0 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.42.llvm.10283439849247210698\n-[13028](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007f8 anon.08c341bb7f186daefc16bdd18254cc9c.3.llvm.2852608270795916942\n-[13029](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b38 __imp_anon.c4d194f4cabed4ef9246cda43331cffc.2.llvm.6008810897942320446\n-[13030](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009a0 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.1.llvm.10386673973210777259\n-[13031](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000486b anon.a43af9cc4981a42dd00b013f8f55f130.15.llvm.13665133684747362110\n-[13032](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007d0 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.21.llvm.9180192027238945235\n-[13033](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000928 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.38.llvm.4036729494550109879\n-[13034](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007e0 __imp_GetModuleHandleA\n-[13035](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006f28 anon.5188eecf01c48ed8fcadadd01fcebeeb.48.llvm.10386673973210777259\n-[13036](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a28 __imp_memmove\n-[13037](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000410 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.117.llvm.65172163764165323\n-[13038](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003c0 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.81.llvm.65172163764165323\n-[13039](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e10 __imp_anon.07b55acb663eb35d742bae824872f75e.23.llvm.58757282566773765\n-[13040](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a3f8 GetStdHandle\n-[13041](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000640 __IAT_start__\n-[13042](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b28 __imp__ZN10std_detect6detect5cache5CACHE17hf632556ed460aa26E\n-[13043](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000708 __imp_DeviceIoControl\n-[13044](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000010 ___crt_xc_end__\n-[13045](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c31a0 __CTOR_LIST__\n-[13046](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004835 anon.a43af9cc4981a42dd00b013f8f55f130.11.llvm.13665133684747362110\n-[13047](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000080 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.2.llvm.12196597439006139751\n-[13048](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001228 anon.03a7b1eb39947173efb71e48c5b540f4.8.llvm.10021583357862909\n-[13049](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d28 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.70.llvm.10283439849247210698\n-[13050](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a2a0 TlsSetValue\n-[13051](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000798 __imp_GetExitCodeProcess\n-[13052](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009d0 __imp___iob_func\n-[13053](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000848 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.89.llvm.9180192027238945235\n-[13054](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015158 anon.7a6259c55b9abecd4a2eb0873fc8b779.50.llvm.10283439849247210698\n-[13055](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __data_start__\n-[13056](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006728 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.39.llvm.4036729494550109879\n-[13057](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002600 anon.577344e6c4a90a10ff600a929dedcba7.84.llvm.11685822864145163790\n-[13058](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000830 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.86.llvm.9180192027238945235\n-[13059](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000005e0 _ZN3std4sync4mpmc5waker17current_thread_id5DUMMY7__getit5__KEY17h8fc5a22a2d7694d4E.llvm.13665133684747362110\n-[13060](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a3a8 InitOnceComplete\n-[13061](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a5b0 GetUserProfileDirectoryW\n-[13062](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006f10 anon.5188eecf01c48ed8fcadadd01fcebeeb.47.llvm.10386673973210777259\n-[13063](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c2338 _initterm\n-[13064](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a10 __imp_fwrite\n-[13065](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a5d0 sendto\n-[13066](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004ba0 anon.a43af9cc4981a42dd00b013f8f55f130.57.llvm.13665133684747362110\n-[13067](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007b0 anon.08c341bb7f186daefc16bdd18254cc9c.0.llvm.2852608270795916942\n-[13068](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a50 __imp_vfprintf\n-[13069](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2150 WakeByAddressSingle\n-[13070](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a3b8 HeapReAlloc\n-[13071](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bd8 __imp_anon.3bd369ec61590d9272c591ac87029920.6.llvm.2123515186662715695\n-[13072](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000008c _head_libgcc_s_seh_1_dll\n-[13073](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000268 __imp_anon.577344e6c4a90a10ff600a929dedcba7.48.llvm.11685822864145163790\n-[13074](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000558 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.82.llvm.14048921605721191922\n-[13075](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000aa8 __imp_WSAGetLastError\n-[13076](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c08 __imp_anon.9de54bf691a285dd20d4e87e6b508fbd.5.llvm.12123695082059135366\n-[13077](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006b0 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.19.llvm.13665133684747362110\n-[13078](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ea0 __imp_anon.d5fd6146a7cb5ea87f639cab18b2a05b.46.llvm.3779847476987057767\n-[13079](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000488 __imp_anon.941f0f04b36aa440174d89d326747b6f.33.llvm.16620058351426711825\n-[13080](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c2358 free\n-[13081](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000720 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.99.llvm.13665133684747362110\n-[13082](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000920 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.37.llvm.4036729494550109879\n-[13083](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000f10 __data_end__\n-[13084](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a288 WaitForMultipleObjects\n-[13085](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000948 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.42.llvm.4036729494550109879\n-[13086](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001512c anon.7a6259c55b9abecd4a2eb0873fc8b779.43.llvm.10283439849247210698\n-[13087](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000da8 __imp_anon.df4f5fc91c1c1e84f2976758feaea474.18.llvm.17095335174290335670\n-[13088](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003208 anon.edf9b0bdfd963b6a2ea99216811efd5e.110.llvm.65172163764165323\n-[13089](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008b0 __imp_QueryPerformanceFrequency\n-[13090](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c31a0 ___CTOR_LIST__\n-[13091](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a390 Module32FirstW\n-[13092](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002c0 __imp__ZN3std2io5stdio14OUTPUT_CAPTURE7__getit5__KEY17h4bf77338c012dfcbE.llvm.11685822864145163790\n-[13093](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005b60 anon.2fc0b598515d6d45a6f7a748d37f9e68.43.llvm.9180192027238945235\n-[13094](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006e8 __imp_CreateWaitableTimerExW\n-[13095](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a268 WriteFileEx\n-[13096](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000910 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.33.llvm.4036729494550109879\n-[13097](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a648 accept\n-[13098](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006ee6 anon.5188eecf01c48ed8fcadadd01fcebeeb.46.llvm.10386673973210777259\n-[13099](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007a0 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.15.llvm.9180192027238945235\n-[13100](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a440 GetFullPathNameW\n-[13101](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ba8 __imp_anon.f9f4f594184b6b9eb1b0ca5252c051c0.18.llvm.16633491867513938143\n-[13102](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __minor_os_version__\n-[13103](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000d8 __imp__ZN3std5panic14SHOULD_CAPTURE17h47fa1dca84a94988E.0.llvm.12196597439006139751\n-[13104](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000958 __imp_TerminateProcess\n-[13105](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004f8 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.20.llvm.14048921605721191922\n-[13106](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006898 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.58.llvm.4036729494550109879\n-[13107](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000032e0 anon.edf9b0bdfd963b6a2ea99216811efd5e.118.llvm.65172163764165323\n-[13108](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008f0 __imp_SetCurrentDirectoryW\n-[13109](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dd53 anon.07b55acb663eb35d742bae824872f75e.32.llvm.58757282566773765\n-[13110](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000818 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.83.llvm.9180192027238945235\n-[13111](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003948 anon.941f0f04b36aa440174d89d326747b6f.30.llvm.16620058351426711825\n-[13112](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015ec8 anon.8d718ed12c404e6593cdb19a2e5276ea.5.llvm.819651363561423643\n-[13113](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000368 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.0.llvm.65172163764165323\n-[13114](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000d8 _ZN3std9panicking11panic_count18GLOBAL_PANIC_COUNT17h5b40b3f81b5486b3E\n-[13115](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000088 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.6.llvm.12196597439006139751\n-[13116](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003740 anon.941f0f04b36aa440174d89d326747b6f.12.llvm.16620058351426711825\n-[13117](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dccd anon.07b55acb663eb35d742bae824872f75e.25.llvm.58757282566773765\n-[13118](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a4a8 GetConsoleMode\n-[13119](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004b0 __imp_anon.941f0f04b36aa440174d89d326747b6f.57.llvm.16620058351426711825\n-[13120](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000508 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.22.llvm.14048921605721191922\n-[13121](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000780 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.11.llvm.9180192027238945235\n-[13122](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c58 anon.c5e06b7d2fb27e4271afbca860883ce8.22.llvm.12196597439006139751\n-[13123](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dbe9 anon.07b55acb663eb35d742bae824872f75e.9.llvm.58757282566773765\n-[13124](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000300 __imp_anon.2d4ed69d03b8b00b295e2865b118c80a.6.llvm.9587153679006429619\n-[13125](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003c20 anon.941f0f04b36aa440174d89d326747b6f.59.llvm.16620058351426711825\n-[13126](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000688 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.14.llvm.13665133684747362110\n-[13127](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006e0 __imp_CreateToolhelp32Snapshot\n-[13128](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000588 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.118.llvm.14048921605721191922\n-[13129](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004738 anon.ce6f0c62864fa439afba1682d1475d3d.120.llvm.14048921605721191922\n-[13130](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __dll__\n-[13131](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a3d0 GetWindowsDirectoryW\n-[13132](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c10 __imp_str.0.llvm.12123695082059135366\n-[13133](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e70 __imp_anon.34ba7072d2fdbfb72b844525ea0f1e7b.0.llvm.3215435228619338225\n-[13134](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000870 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.94.llvm.9180192027238945235\n-[13135](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000620 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.0.llvm.13665133684747362110\n-[13136](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ab0 __imp_WSARecv\n-[13137](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001db13 anon.07b55acb663eb35d742bae824872f75e.1.llvm.58757282566773765\n-[13138](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006360 str.0.llvm.4036729494550109879\n-[13139](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001e60 anon.577344e6c4a90a10ff600a929dedcba7.4.llvm.11685822864145163790\n-[13140](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a38 __imp_realloc\n-[13141](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000029 _ZN3std2io5stdio19OUTPUT_CAPTURE_USED17he4f9ce513cba35dbE.0.llvm.11685822864145163790\n-[13142](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003998 anon.941f0f04b36aa440174d89d326747b6f.33.llvm.16620058351426711825\n-[13143](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000900 __imp_SetFileAttributesW\n-[13144](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000057fd anon.2fc0b598515d6d45a6f7a748d37f9e68.12.llvm.9180192027238945235\n-[13145](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000052b8 anon.a43af9cc4981a42dd00b013f8f55f130.115.llvm.13665133684747362110\n-[13146](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a340 RtlCaptureContext\n-[13147](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bb8 __imp_anon.3bd369ec61590d9272c591ac87029920.0.llvm.2123515186662715695\n-[13148](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2180 _Unwind_Resume\n-[13149](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007e8 __imp_GetModuleHandleW\n-[13150](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009d0 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.13.llvm.10386673973210777259\n-[13151](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e38 __imp_anon.07b55acb663eb35d742bae824872f75e.28.llvm.58757282566773765\n-[13152](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b08 __imp_anon.567cec0599d353b04e33d4229b5f9b30.9.llvm.2628756017061842597\n-[13153](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005870 anon.2fc0b598515d6d45a6f7a748d37f9e68.16.llvm.9180192027238945235\n-[13154](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000047c8 anon.a43af9cc4981a42dd00b013f8f55f130.2.llvm.13665133684747362110\n-[13155](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013a78 anon.1cd6cbb5d23cd003f709872fa6a8a6dd.8.llvm.9517595369394268439\n-[13156](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000338 __imp_anon.2d4ed69d03b8b00b295e2865b118c80a.17.llvm.9587153679006429619\n-[13157](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000010e98 anon.567cec0599d353b04e33d4229b5f9b30.10.llvm.2628756017061842597\n-[13158](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000057d9 anon.2fc0b598515d6d45a6f7a748d37f9e68.11.llvm.9180192027238945235\n-[13159](sec 7)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x0000000000000158 __rust_alloc_error_handler_should_panic\n-[13160](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022be0 .refptr.__native_dllmain_reason\n-[13161](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000888 anon.08c341bb7f186daefc16bdd18254cc9c.7.llvm.2852608270795916942\n-[13162](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a658 WSASocketW\n-[13163](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001e30 anon.577344e6c4a90a10ff600a929dedcba7.0.llvm.11685822864145163790\n-[13164](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001d0 anon.7ce35b53eeafc768de935b4fef3da959.12.llvm.1024159395525823541\n-[13165](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007f20 anon.75cd115d168aa5adc70873d7be22c67a.12.llvm.8768119154728042530\n-[13166](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000250 __bss_end__\n-[13167](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a5e0 select\n-[13168](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009a8 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.2.llvm.10386673973210777259\n-[13169](sec 11)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000008 _tls_end\n-[13170](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015318 anon.7a6259c55b9abecd4a2eb0873fc8b779.68.llvm.10283439849247210698\n-[13171](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b68 __imp_anon.7ec0d7d1b51f482853d19890eaa43e99.13.llvm.4855701895496871646\n-[13172](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015138 anon.7a6259c55b9abecd4a2eb0873fc8b779.49.llvm.10283439849247210698\n-[13173](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000760 __imp_GetConsoleMode\n-[13174](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a4f0 DuplicateHandle\n-[13175](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a478 GetEnvironmentVariableW\n-[13176](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005a10 anon.2fc0b598515d6d45a6f7a748d37f9e68.31.llvm.9180192027238945235\n-[13177](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002f0 __imp_anon.2d4ed69d03b8b00b295e2865b118c80a.4.llvm.9587153679006429619\n-[13178](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013506 anon.3bd369ec61590d9272c591ac87029920.6.llvm.2123515186662715695\n-[13179](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000498 __imp_anon.941f0f04b36aa440174d89d326747b6f.43.llvm.16620058351426711825\n-[13180](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a568 CopyFileExW\n-[13181](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000130 __imp_anon.03a7b1eb39947173efb71e48c5b540f4.5.llvm.10021583357862909\n-[13182](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000950 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.44.llvm.4036729494550109879\n-[13183](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004844 anon.a43af9cc4981a42dd00b013f8f55f130.12.llvm.13665133684747362110\n-[13184](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d88 __imp_anon.df4f5fc91c1c1e84f2976758feaea474.14.llvm.17095335174290335670\n-[13185](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002708 anon.2d4ed69d03b8b00b295e2865b118c80a.3.llvm.9587153679006429619\n-[13186](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ce0 anon.c5e06b7d2fb27e4271afbca860883ce8.27.llvm.12196597439006139751\n-[13187](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c3168 LeaveCriticalSection\n-[13188](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000738 __imp_FindNextFileW\n-[13189](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000c8 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.25.llvm.12196597439006139751\n-[13190](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000868 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.93.llvm.9180192027238945235\n-[13191](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007f8 __imp_GetProcAddress\n-[13192](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000de8 __imp_anon.07b55acb663eb35d742bae824872f75e.18.llvm.58757282566773765\n-[13193](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ac8 __imp_WSAStartup\n-[13194](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002d0 __imp_anon.2d4ed69d03b8b00b295e2865b118c80a.0.llvm.9587153679006429619\n-[13195](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004498 anon.ce6f0c62864fa439afba1682d1475d3d.82.llvm.14048921605721191922\n-[13196](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000958 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.45.llvm.4036729494550109879\n-[13197](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013845 anon.bb01d4b423a85a795a1692e8cd9c64e5.9.llvm.11285312269184381906\n-[13198](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006b88 anon.5188eecf01c48ed8fcadadd01fcebeeb.13.llvm.10386673973210777259\n-[13199](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000061f8 anon.2fc0b598515d6d45a6f7a748d37f9e68.91.llvm.9180192027238945235\n-[13200](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000020 __xi_z\n-[13201](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ad8 __imp_anon.fc3e879c0d0583c039a7967db6c0c117.1.llvm.14670435032436802275\n-[13202](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015116 anon.7a6259c55b9abecd4a2eb0873fc8b779.36.llvm.10283439849247210698\n-[13203](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000af8 __imp_anon.567cec0599d353b04e33d4229b5f9b30.3.llvm.2628756017061842597\n-[13204](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000200 __file_alignment__\n-[13205](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a3f0 GetSystemDirectoryW\n-[13206](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b80 __imp__Unwind_GetIPInfo\n-[13207](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000270 __imp_anon.577344e6c4a90a10ff600a929dedcba7.51.llvm.11685822864145163790\n-[13208](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000060 anon.7ce35b53eeafc768de935b4fef3da959.2.llvm.1024159395525823541\n-[13209](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000938 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.40.llvm.4036729494550109879\n-[13210](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d68 anon.2611162d579b3e706d0c0f15accb8ea6.2.llvm.17987727548992354187\n-[13211](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000194 __mingw_initltsdyn_force\n-[13212](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a2f8 SetHandleInformation\n-[13213](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000012c8 anon.03a7b1eb39947173efb71e48c5b540f4.13.llvm.10021583357862909\n-[13214](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a4b8 FreeEnvironmentStringsW\n-[13215](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2368 memcpy\n-[13216](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d08 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.66.llvm.10283439849247210698\n-[13217](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000cc8 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.45.llvm.10283439849247210698\n-[13218](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c48 __imp_anon.1cd6cbb5d23cd003f709872fa6a8a6dd.31.llvm.9517595369394268439\n-[13219](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007f0 __imp_GetOverlappedResult\n-[13220](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000480 __imp_anon.941f0f04b36aa440174d89d326747b6f.32.llvm.16620058351426711825\n-[13221](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002e0 __imp_anon.2d4ed69d03b8b00b295e2865b118c80a.2.llvm.9587153679006429619\n-[13222](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c2348 _unlock\n-[13223](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000140 _ZN3std3sys3pal7windows3net11WSA_CLEANUP17he970e99e25d07381E.llvm.4036729494550109879\n-[13224](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000510 __imp__ZN3std2rt7cleanup7CLEANUP17h07b9456e6b4bf964E.llvm.14048921605721191922\n-[13225](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002e8 __imp_anon.2d4ed69d03b8b00b295e2865b118c80a.3.llvm.9587153679006429619\n-[13226](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000037a0 anon.941f0f04b36aa440174d89d326747b6f.14.llvm.16620058351426711825\n-[13227](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013952 anon.9de54bf691a285dd20d4e87e6b508fbd.8.llvm.12123695082059135366\n-[13228](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005910 anon.2fc0b598515d6d45a6f7a748d37f9e68.21.llvm.9180192027238945235\n-[13229](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dd50 anon.07b55acb663eb35d742bae824872f75e.31.llvm.58757282566773765\n-[13230](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004340 anon.ce6f0c62864fa439afba1682d1475d3d.71.llvm.14048921605721191922\n-[13231](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c30 __imp_anon.9de54bf691a285dd20d4e87e6b508fbd.9.llvm.12123695082059135366\n-[13232](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dcc9 anon.07b55acb663eb35d742bae824872f75e.23.llvm.58757282566773765\n-[13233](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000670 __imp_AddVectoredExceptionHandler\n-[13234](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003e8 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.108.llvm.65172163764165323\n-[13235](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003f0 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.109.llvm.65172163764165323\n-[13236](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a380 MoveFileExW\n-[13237](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000010338 anon.d13ef5d19e380ff1a25cb10df774bd92.2.llvm.13995198208019911955\n-[13238](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2388 strlen\n-[13239](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000840 __imp_HeapAlloc\n-[13240](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000948 __imp_SleepEx\n-[13241](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a5c0 shutdown\n-[13242](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000740 __imp_FlushFileBuffers\n-[13243](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000044b0 anon.ce6f0c62864fa439afba1682d1475d3d.83.llvm.14048921605721191922\n-[13244](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006758 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.41.llvm.4036729494550109879\n-[13245](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000dd0 anon.2611162d579b3e706d0c0f15accb8ea6.4.llvm.17987727548992354187\n-[13246](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001e50 anon.577344e6c4a90a10ff600a929dedcba7.3.llvm.11685822864145163790\n-[13247](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000160 _ZN10std_detect6detect5cache5CACHE17hf632556ed460aa26E\n-[13248](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015360 anon.7a6259c55b9abecd4a2eb0873fc8b779.71.llvm.10283439849247210698\n-[13249](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004c88 anon.a43af9cc4981a42dd00b013f8f55f130.66.llvm.13665133684747362110\n-[13250](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a4f8 DeviceIoControl\n-[13251](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000019bc __lib64_libkernel32_a_iname\n-[13252](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000858 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.91.llvm.9180192027238945235\n-[13253](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000069e0 anon.5188eecf01c48ed8fcadadd01fcebeeb.0.llvm.10386673973210777259\n-[13254](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000003c _head_lib64_libmsvcrt_def_a\n-[13255](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000745f anon.5188eecf01c48ed8fcadadd01fcebeeb.102.llvm.10386673973210777259\n-[13256](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dc20 anon.07b55acb663eb35d742bae824872f75e.12.llvm.58757282566773765\n-[13257](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000060f1 anon.2fc0b598515d6d45a6f7a748d37f9e68.84.llvm.9180192027238945235\n-[13258](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000229a0 __dyn_tls_init_callback\n-[13259](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000580 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.117.llvm.14048921605721191922\n-[13260](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008f8 __imp_SetEnvironmentVariableW\n-[13261](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a2c8 SwitchToThread\n-[13262](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001000 __size_of_stack_commit__\n-[13263](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004720 anon.ce6f0c62864fa439afba1682d1475d3d.119.llvm.14048921605721191922\n-[13264](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a4e8 ExitProcess\n-[13265](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000160 __dll_characteristics__\n-[13266](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022bf0 .refptr.__native_startup_lock\n-[13267](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000015b0 anon.03a7b1eb39947173efb71e48c5b540f4.51.llvm.10021583357862909\n-[13268](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a30 __imp_memset\n-[13269](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e78 __imp_anon.34ba7072d2fdbfb72b844525ea0f1e7b.1.llvm.3215435228619338225\n-[13270](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a78 anon.c5e06b7d2fb27e4271afbca860883ce8.6.llvm.12196597439006139751\n-[13271](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000012e20 anon.7ec0d7d1b51f482853d19890eaa43e99.0.llvm.4855701895496871646\n-[13272](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000017f8 ___tmp_rustcBv6EAf_bcryptprimitives_lib_iname\n+[12791](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000014 _head__tmp_rustcpdeyFw_bcryptprimitives_lib\n+[12792](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000017370 anon.df4f5fc91c1c1e84f2976758feaea474.20.llvm.17095335174290335670\n+[12793](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009e8 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.16.llvm.10386673973210777259\n+[12794](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013920 anon.9de54bf691a285dd20d4e87e6b508fbd.6.llvm.12123695082059135366\n+[12795](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008c8 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.6.llvm.4036729494550109879\n+[12796](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000128 _ZN3std6thread8ThreadId3new7COUNTER17hf61725333ea7cf69E.llvm.13665133684747362110\n+[12797](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000152d8 anon.7a6259c55b9abecd4a2eb0873fc8b779.65.llvm.10283439849247210698\n+[12798](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2188 _Unwind_RaiseException\n+[12799](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c2350 calloc\n+[12800](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000868 __imp_InitializeCriticalSection\n+[12801](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000730 __imp_FindFirstFileW\n+[12802](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000db8 __imp_anon.df4f5fc91c1c1e84f2976758feaea474.20.llvm.17095335174290335670\n+[12803](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003078 anon.edf9b0bdfd963b6a2ea99216811efd5e.81.llvm.65172163764165323\n+[12804](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004778 anon.ce6f0c62864fa439afba1682d1475d3d.121.llvm.14048921605721191922\n+[12805](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000010 ___crt_xi_start__\n+[12806](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000090 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.7.llvm.12196597439006139751\n+[12807](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015378 anon.7a6259c55b9abecd4a2eb0873fc8b779.72.llvm.10283439849247210698\n+[12808](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007478 anon.5188eecf01c48ed8fcadadd01fcebeeb.104.llvm.10386673973210777259\n+[12809](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000307c anon.edf9b0bdfd963b6a2ea99216811efd5e.82.llvm.65172163764165323\n+[12810](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002b8 __imp__ZN3std4sync14reentrant_lock25current_thread_unique_ptr1X7__getit5__KEY17h077daefc5f25ce95E.llvm.11685822864145163790\n+[12811](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2170 _Unwind_SetIP\n+[12812](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a58 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.106.llvm.10386673973210777259\n+[12813](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000840 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.88.llvm.9180192027238945235\n+[12814](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006648 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.31.llvm.4036729494550109879\n+[12815](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b40 __imp_anon.c4d194f4cabed4ef9246cda43331cffc.3.llvm.6008810897942320446\n+[12816](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002a0 __imp_anon.577344e6c4a90a10ff600a929dedcba7.84.llvm.11685822864145163790\n+[12817](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dcca anon.07b55acb663eb35d742bae824872f75e.24.llvm.58757282566773765\n+[12818](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004c0 __imp_anon.941f0f04b36aa440174d89d326747b6f.59.llvm.16620058351426711825\n+[12819](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000011c8 anon.03a7b1eb39947173efb71e48c5b540f4.5.llvm.10021583357862909\n+[12820](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003e4f anon.ce6f0c62864fa439afba1682d1475d3d.19.llvm.14048921605721191922\n+[12821](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000570 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.115.llvm.14048921605721191922\n+[12822](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000af8 anon.c5e06b7d2fb27e4271afbca860883ce8.10.llvm.12196597439006139751\n+[12823](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000748 __imp__ZN3std4sync4mpmc5waker17current_thread_id5DUMMY7__getit5__KEY17h8fc5a22a2d7694d4E.llvm.13665133684747362110\n+[12824](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008d8 __imp_str.0.llvm.4036729494550109879\n+[12825](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015125 anon.7a6259c55b9abecd4a2eb0873fc8b779.39.llvm.10283439849247210698\n+[12826](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a608 getsockopt\n+[12827](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006790 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.42.llvm.4036729494550109879\n+[12828](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000668 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.10.llvm.13665133684747362110\n+[12829](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006392 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.9.llvm.4036729494550109879\n+[12830](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000005 __major_subsystem_version__\n+[12831](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006710 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.38.llvm.4036729494550109879\n+[12832](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000820 __imp_GetSystemInfo\n+[12833](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002d8 __imp_anon.2d4ed69d03b8b00b295e2865b118c80a.1.llvm.9587153679006429619\n+[12834](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000012930 anon.c4d194f4cabed4ef9246cda43331cffc.2.llvm.6008810897942320446\n+[12835](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006b0 __imp_CreateFileW\n+[12836](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a2b0 TlsFree\n+[12837](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a368 QueryPerformanceFrequency\n+[12838](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006f50 anon.5188eecf01c48ed8fcadadd01fcebeeb.49.llvm.10386673973210777259\n+[12839](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d20 anon.2611162d579b3e706d0c0f15accb8ea6.0.llvm.17987727548992354187\n+[12840](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000010358 anon.d13ef5d19e380ff1a25cb10df774bd92.3.llvm.13995198208019911955\n+[12841](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022c10 .refptr.__rust_alloc_error_handler_should_panic\n+[12842](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006a8 __imp_CreateFileMappingA\n+[12843](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000db0 __imp_anon.df4f5fc91c1c1e84f2976758feaea474.19.llvm.17095335174290335670\n+[12844](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000628 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.2.llvm.13665133684747362110\n+[12845](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000838 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.87.llvm.9180192027238945235\n+[12846](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000140 __imp_anon.03a7b1eb39947173efb71e48c5b540f4.8.llvm.10021583357862909\n+[12847](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000240 __imp__ZN3std2io5stdio6STDOUT17h54404b6e0dbb130cE.llvm.11685822864145163790\n+[12848](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003c8 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.82.llvm.65172163764165323\n+[12849](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000152c8 anon.7a6259c55b9abecd4a2eb0873fc8b779.64.llvm.10283439849247210698\n+[12850](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a2e8 SetThreadStackGuarantee\n+[12851](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006e0 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.53.llvm.13665133684747362110\n+[12852](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000af0 __imp_freeaddrinfo\n+[12853](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009b0 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.3.llvm.10386673973210777259\n+[12854](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a348 RemoveDirectoryW\n+[12855](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a468 GetFileAttributesW\n+[12856](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a3a0 InitializeProcThreadAttributeList\n+[12857](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d70 __imp__ZN4core7unicode12unicode_data15grapheme_extend17SHORT_OFFSET_RUNS17hcc65fb30137b448cE.llvm.819651363561423643\n+[12858](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002260 anon.577344e6c4a90a10ff600a929dedcba7.52.llvm.11685822864145163790\n+[12859](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000778 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.10.llvm.9180192027238945235\n+[12860](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006b78 anon.5188eecf01c48ed8fcadadd01fcebeeb.12.llvm.10386673973210777259\n+[12861](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c50 __imp__ZN4core3num7flt2dec8strategy5grisu12CACHED_POW1017hc29b3bf8237d228dE\n+[12862](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008d0 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.7.llvm.4036729494550109879\n+[12863](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000120 __imp_anon.03a7b1eb39947173efb71e48c5b540f4.2.llvm.10021583357862909\n+[12864](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d50 anon.2611162d579b3e706d0c0f15accb8ea6.1.llvm.17987727548992354187\n+[12865](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000768 __imp_anon.71b4c3b3c7c90ed67c6b8e618b4d496a.6.llvm.14138378158770856212\n+[12866](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a378 MultiByteToWideChar\n+[12867](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000728 __imp__ZN3std6thread8ThreadId3new7COUNTER17hf61725333ea7cf69E.llvm.13665133684747362110\n+[12868](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000050 ___crt_xt_end__\n+[12869](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b00 __imp_getpeername\n+[12870](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b70 __imp__Unwind_DeleteException\n+[12871](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000298 __imp_anon.577344e6c4a90a10ff600a929dedcba7.83.llvm.11685822864145163790\n+[12872](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001a8 _ZN3std10sys_common11thread_info11THREAD_INFO7__getit5__KEY17ha20a47e83639d552E.llvm.11685822864145163790\n+[12873](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013c18 anon.1cd6cbb5d23cd003f709872fa6a8a6dd.31.llvm.9517595369394268439\n+[12874](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003e14 anon.ce6f0c62864fa439afba1682d1475d3d.18.llvm.14048921605721191922\n+[12875](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a3b0 InitOnceBeginInitialize\n+[12876](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000017200 anon.df4f5fc91c1c1e84f2976758feaea474.15.llvm.17095335174290335670\n+[12877](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000047a8 anon.a43af9cc4981a42dd00b013f8f55f130.0.llvm.13665133684747362110\n+[12878](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a650 WSAStartup\n+[12879](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ae0 anon.c5e06b7d2fb27e4271afbca860883ce8.9.llvm.12196597439006139751\n+[12880](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000050 ___crt_xt_start__\n+[12881](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000165d8 anon.8d718ed12c404e6593cdb19a2e5276ea.23.llvm.819651363561423643\n+[12882](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022ec0 ___RUNTIME_PSEUDO_RELOC_LIST__\n+[12883](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2198 _Unwind_GetRegionStart\n+[12884](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000828 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.85.llvm.9180192027238945235\n+[12885](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000067e8 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.45.llvm.4036729494550109879\n+[12886](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000016684 _ZN4core7unicode12unicode_data15grapheme_extend17SHORT_OFFSET_RUNS17hcc65fb30137b448cE.llvm.819651363561423643\n+[12887](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a470 GetExitCodeProcess\n+[12888](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002740 anon.2d4ed69d03b8b00b295e2865b118c80a.4.llvm.9587153679006429619\n+[12889](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000026d0 anon.2d4ed69d03b8b00b295e2865b118c80a.0.llvm.9587153679006429619\n+[12890](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000152f8 anon.7a6259c55b9abecd4a2eb0873fc8b779.66.llvm.10283439849247210698\n+[12891](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000708 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.65.llvm.13665133684747362110\n+[12892](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000698 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.16.llvm.13665133684747362110\n+[12893](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ac0 __imp_WSASocketW\n+[12894](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000078 _head_lib64_libws2_32_a\n+[12895](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a308 SetFilePointerEx\n+[12896](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015928 anon.d59256ba366f0704cef723753273bccf.6.llvm.4660425447921612699\n+[12897](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __major_image_version__\n+[12898](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001000 __section_alignment__\n+[12899](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000068 __imp_anon.08c341bb7f186daefc16bdd18254cc9c.7.llvm.2852608270795916942\n+[12900](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a3e8 GetSystemInfo\n+[12901](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007438 anon.5188eecf01c48ed8fcadadd01fcebeeb.101.llvm.10386673973210777259\n+[12902](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000010ed0 anon.567cec0599d353b04e33d4229b5f9b30.12.llvm.2628756017061842597\n+[12903](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000660 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.9.llvm.13665133684747362110\n+[12904](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000908 __imp_SetFileInformationByHandle\n+[12905](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004468 anon.ce6f0c62864fa439afba1682d1475d3d.81.llvm.14048921605721191922\n+[12906](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003750 anon.941f0f04b36aa440174d89d326747b6f.13.llvm.16620058351426711825\n+[12907](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000858 anon.08c341bb7f186daefc16bdd18254cc9c.5.llvm.2852608270795916942\n+[12908](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000a8 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.10.llvm.12196597439006139751\n+[12909](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d90 __imp_anon.df4f5fc91c1c1e84f2976758feaea474.15.llvm.17095335174290335670\n+[12910](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000100 __imp_anon.2611162d579b3e706d0c0f15accb8ea6.1.llvm.17987727548992354187\n+[12911](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006210 anon.2fc0b598515d6d45a6f7a748d37f9e68.92.llvm.9180192027238945235\n+[12912](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000250 __imp_anon.577344e6c4a90a10ff600a929dedcba7.36.llvm.11685822864145163790\n+[12913](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008f0 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.10.llvm.4036729494550109879\n+[12914](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000048bb anon.a43af9cc4981a42dd00b013f8f55f130.21.llvm.13665133684747362110\n+[12915](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a510 CreateWaitableTimerExW\n+[12916](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002868 anon.2d4ed69d03b8b00b295e2865b118c80a.14.llvm.9587153679006429619\n+[12917](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000500 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.21.llvm.14048921605721191922\n+[12918](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000678 __imp_CancelIo\n+[12919](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008c0 __imp_ReadFile\n+[12920](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000260 __imp__ZN3std2io5stdio6stderr8INSTANCE17h050c730875ffdbc8E\n+[12921](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ac0 __imp_anon.75cd115d168aa5adc70873d7be22c67a.11.llvm.8768119154728042530\n+[12922](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000520 __imp__ZN3std10sys_common9backtrace4lock4LOCK17h96194423af38a9eeE.llvm.14048921605721191922\n+[12923](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000540 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.79.llvm.14048921605721191922\n+[12924](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a458 GetFileInformationByHandleEx\n+[12925](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022c00 .refptr.__native_startup_state\n+[12926](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a4a0 GetCurrentDirectoryW\n+[12927](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000930 __imp_SetThreadStackGuarantee\n+[12928](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dc80 anon.07b55acb663eb35d742bae824872f75e.19.llvm.58757282566773765\n+[12929](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2190 _Unwind_GetTextRelBase\n+[12930](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000081d8 anon.fc3e879c0d0583c039a7967db6c0c117.1.llvm.14670435032436802275\n+[12931](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001654b anon.8d718ed12c404e6593cdb19a2e5276ea.18.llvm.819651363561423643\n+[12932](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000028 ___crt_xl_start__\n+[12933](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005548 anon.71b4c3b3c7c90ed67c6b8e618b4d496a.0.llvm.14138378158770856212\n+[12934](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c31b8 __DTOR_LIST__\n+[12935](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004b20 anon.a43af9cc4981a42dd00b013f8f55f130.54.llvm.13665133684747362110\n+[12936](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008d8 __imp_RtlCaptureContext\n+[12937](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000f0 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.29.llvm.12196597439006139751\n+[12938](sec 4)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 rust_metadata_std_9f917a5e7a74ff1\n+[12939](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006f0 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.57.llvm.13665133684747362110\n+[12940](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a450 GetFileType\n+[12941](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a408 GetProcessHeap\n+[12942](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a40 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.102.llvm.10386673973210777259\n+[12943](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000be8 __imp_anon.bb01d4b423a85a795a1692e8cd9c64e5.2.llvm.11285312269184381906\n+[12944](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000062c0 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.1.llvm.4036729494550109879\n+[12945](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a18 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.51.llvm.10386673973210777259\n+[12946](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000960 __imp__ZN3std3sys3pal7windows5alloc4HEAP17h34e549f5a2364763E\n+[12947](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008c8 __imp_ReadFileEx\n+[12948](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000400 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.111.llvm.65172163764165323\n+[12949](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000047e0 anon.a43af9cc4981a42dd00b013f8f55f130.4.llvm.13665133684747362110\n+[12950](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004a0 __imp_anon.941f0f04b36aa440174d89d326747b6f.53.llvm.16620058351426711825\n+[12951](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000590 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.119.llvm.14048921605721191922\n+[12952](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dc68 anon.07b55acb663eb35d742bae824872f75e.18.llvm.58757282566773765\n+[12953](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000017f8 ___tmp_rustcpdeyFw_bcryptprimitives_lib_iname\n+[12954](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __bss_start__\n+[12955](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c3160 VirtualProtect\n+[12956](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e30 __imp_anon.07b55acb663eb35d742bae824872f75e.27.llvm.58757282566773765\n+[12957](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000134c8 anon.3bd369ec61590d9272c591ac87029920.1.llvm.2123515186662715695\n+[12958](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000071d8 anon.5188eecf01c48ed8fcadadd01fcebeeb.71.llvm.10386673973210777259\n+[12959](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000518 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.49.llvm.14048921605721191922\n+[12960](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000550 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.81.llvm.14048921605721191922\n+[12961](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003d0 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.83.llvm.65172163764165323\n+[12962](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a5c8 setsockopt\n+[12963](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006740 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.40.llvm.4036729494550109879\n+[12964](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007e0 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.40.llvm.9180192027238945235\n+[12965](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000650 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.7.llvm.13665133684747362110\n+[12966](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d40 __imp_anon.d59256ba366f0704cef723753273bccf.6.llvm.4660425447921612699\n+[12967](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007a50 anon.e2378e14a3ab6920970de912c40858fb.1.llvm.12155384279649763508\n+[12968](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004886 anon.a43af9cc4981a42dd00b013f8f55f130.17.llvm.13665133684747362110\n+[12969](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ce0 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.48.llvm.10283439849247210698\n+[12970](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a88 __imp_GetUserProfileDirectoryW\n+[12971](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022bb0 .refptr.__dyn_tls_init_callback\n+[12972](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000690 __imp_CopyFileExW\n+[12973](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000700 __imp_DeleteProcThreadAttributeList\n+[12974](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002c8 __imp__ZN3std9panicking11panic_count18GLOBAL_PANIC_COUNT17h5b40b3f81b5486b3E\n+[12975](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000dc8 __imp_anon.07b55acb663eb35d742bae824872f75e.1.llvm.58757282566773765\n+[12976](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009c0 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.11.llvm.10386673973210777259\n+[12977](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000581c anon.2fc0b598515d6d45a6f7a748d37f9e68.13.llvm.9180192027238945235\n+[12978](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000070 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.0.llvm.12196597439006139751\n+[12979](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000027c0 anon.2d4ed69d03b8b00b295e2865b118c80a.7.llvm.9587153679006429619\n+[12980](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __minor_image_version__\n+[12981](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000838 __imp_GetWindowsDirectoryW\n+[12982](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dd08 anon.07b55acb663eb35d742bae824872f75e.29.llvm.58757282566773765\n+[12983](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007d0 __imp_GetLastError\n+[12984](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002e48 anon.edf9b0bdfd963b6a2ea99216811efd5e.55.llvm.65172163764165323\n+[12985](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000071b0 anon.5188eecf01c48ed8fcadadd01fcebeeb.70.llvm.10386673973210777259\n+[12986](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000010 __imp_anon.7ce35b53eeafc768de935b4fef3da959.2.llvm.1024159395525823541\n+[12987](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000880 __imp_MapViewOfFile\n+[12988](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000168 __imp_anon.03a7b1eb39947173efb71e48c5b540f4.51.llvm.10021583357862909\n+[12989](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009d0 anon.c5e06b7d2fb27e4271afbca860883ce8.0.llvm.12196597439006139751\n+[12990](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000880 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.97.llvm.9180192027238945235\n+[12991](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007b8 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.18.llvm.9180192027238945235\n+[12992](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000050 ___crt_xp_end__\n+[12993](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ae8 __imp_anon.d13ef5d19e380ff1a25cb10df774bd92.3.llvm.13995198208019911955\n+[12994](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000048cd anon.a43af9cc4981a42dd00b013f8f55f130.22.llvm.13665133684747362110\n+[12995](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000578 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.116.llvm.14048921605721191922\n+[12996](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000018 __imp_anon.7ce35b53eeafc768de935b4fef3da959.3.llvm.1024159395525823541\n+[12997](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c58 __imp__ZN4core3fmt2rt12USIZE_MARKER17hd232ed6d40ac3ff2E\n+[12998](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000020 __imp_anon.7ce35b53eeafc768de935b4fef3da959.4.llvm.1024159395525823541\n+[12999](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000990 __imp_VirtualProtect\n+[13000](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006d8 __imp_CreateThread\n+[13001](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000388 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.53.llvm.65172163764165323\n+[13002](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b00 __imp_anon.567cec0599d353b04e33d4229b5f9b30.4.llvm.2628756017061842597\n+[13003](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a70 __imp_NtWriteFile\n+[13004](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000020ad0 anon.34ba7072d2fdbfb72b844525ea0f1e7b.0.llvm.3215435228619338225\n+[13005](sec 11)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 ___tls_start__\n+[13006](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ca8 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.41.llvm.10283439849247210698\n+[13007](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000038 __imp_anon.08c341bb7f186daefc16bdd18254cc9c.0.llvm.2852608270795916942\n+[13008](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a460 GetFileInformationByHandle\n+[13009](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a618 getpeername\n+[13010](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001a2c __lib64_libntdll_a_iname\n+[13011](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002fe8 anon.edf9b0bdfd963b6a2ea99216811efd5e.76.llvm.65172163764165323\n+[13012](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000f0 _ZN3std10sys_common9backtrace4lock4LOCK17h96194423af38a9eeE.llvm.14048921605721191922\n+[13013](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000800 __imp_GetProcessHeap\n+[13014](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000074c8 anon.5188eecf01c48ed8fcadadd01fcebeeb.107.llvm.10386673973210777259\n+[13015](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007b0 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.17.llvm.9180192027238945235\n+[13016](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000cf0 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.50.llvm.10283439849247210698\n+[13017](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000278 __imp_anon.577344e6c4a90a10ff600a929dedcba7.52.llvm.11685822864145163790\n+[13018](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a48 __imp_strncmp\n+[13019](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001eb0 anon.577344e6c4a90a10ff600a929dedcba7.6.llvm.11685822864145163790\n+[13020](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000470 __imp_anon.941f0f04b36aa440174d89d326747b6f.30.llvm.16620058351426711825\n+[13021](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000978 __imp_TlsSetValue\n+[13022](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000790 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.13.llvm.9180192027238945235\n+[13023](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009d8 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.14.llvm.10386673973210777259\n+[13024](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000047d5 anon.a43af9cc4981a42dd00b013f8f55f130.3.llvm.13665133684747362110\n+[13025](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022b90 .refptr.__RUNTIME_PSEUDO_RELOC_LIST_END__\n+[13026](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000019c _tls_index\n+[13027](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000650 __imp_WakeByAddressSingle\n+[13028](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000cb0 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.42.llvm.10283439849247210698\n+[13029](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007f8 anon.08c341bb7f186daefc16bdd18254cc9c.3.llvm.2852608270795916942\n+[13030](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b38 __imp_anon.c4d194f4cabed4ef9246cda43331cffc.2.llvm.6008810897942320446\n+[13031](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009a0 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.1.llvm.10386673973210777259\n+[13032](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000486b anon.a43af9cc4981a42dd00b013f8f55f130.15.llvm.13665133684747362110\n+[13033](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007d0 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.21.llvm.9180192027238945235\n+[13034](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000928 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.38.llvm.4036729494550109879\n+[13035](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007e0 __imp_GetModuleHandleA\n+[13036](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006f28 anon.5188eecf01c48ed8fcadadd01fcebeeb.48.llvm.10386673973210777259\n+[13037](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a28 __imp_memmove\n+[13038](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000410 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.117.llvm.65172163764165323\n+[13039](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003c0 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.81.llvm.65172163764165323\n+[13040](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e10 __imp_anon.07b55acb663eb35d742bae824872f75e.23.llvm.58757282566773765\n+[13041](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a3f8 GetStdHandle\n+[13042](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000640 __IAT_start__\n+[13043](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b28 __imp__ZN10std_detect6detect5cache5CACHE17hf632556ed460aa26E\n+[13044](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000708 __imp_DeviceIoControl\n+[13045](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000010 ___crt_xc_end__\n+[13046](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c31a0 __CTOR_LIST__\n+[13047](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004835 anon.a43af9cc4981a42dd00b013f8f55f130.11.llvm.13665133684747362110\n+[13048](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000080 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.2.llvm.12196597439006139751\n+[13049](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001228 anon.03a7b1eb39947173efb71e48c5b540f4.8.llvm.10021583357862909\n+[13050](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d28 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.70.llvm.10283439849247210698\n+[13051](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a2a0 TlsSetValue\n+[13052](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000798 __imp_GetExitCodeProcess\n+[13053](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009d0 __imp___iob_func\n+[13054](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000848 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.89.llvm.9180192027238945235\n+[13055](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015158 anon.7a6259c55b9abecd4a2eb0873fc8b779.50.llvm.10283439849247210698\n+[13056](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __data_start__\n+[13057](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006728 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.39.llvm.4036729494550109879\n+[13058](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002600 anon.577344e6c4a90a10ff600a929dedcba7.84.llvm.11685822864145163790\n+[13059](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000830 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.86.llvm.9180192027238945235\n+[13060](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000005e0 _ZN3std4sync4mpmc5waker17current_thread_id5DUMMY7__getit5__KEY17h8fc5a22a2d7694d4E.llvm.13665133684747362110\n+[13061](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a3a8 InitOnceComplete\n+[13062](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a5b0 GetUserProfileDirectoryW\n+[13063](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006f10 anon.5188eecf01c48ed8fcadadd01fcebeeb.47.llvm.10386673973210777259\n+[13064](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c2338 _initterm\n+[13065](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a10 __imp_fwrite\n+[13066](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a5d0 sendto\n+[13067](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004ba0 anon.a43af9cc4981a42dd00b013f8f55f130.57.llvm.13665133684747362110\n+[13068](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007b0 anon.08c341bb7f186daefc16bdd18254cc9c.0.llvm.2852608270795916942\n+[13069](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a50 __imp_vfprintf\n+[13070](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2150 WakeByAddressSingle\n+[13071](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a3b8 HeapReAlloc\n+[13072](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bd8 __imp_anon.3bd369ec61590d9272c591ac87029920.6.llvm.2123515186662715695\n+[13073](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000008c _head_libgcc_s_seh_1_dll\n+[13074](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000268 __imp_anon.577344e6c4a90a10ff600a929dedcba7.48.llvm.11685822864145163790\n+[13075](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000558 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.82.llvm.14048921605721191922\n+[13076](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000aa8 __imp_WSAGetLastError\n+[13077](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c08 __imp_anon.9de54bf691a285dd20d4e87e6b508fbd.5.llvm.12123695082059135366\n+[13078](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006b0 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.19.llvm.13665133684747362110\n+[13079](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ea0 __imp_anon.d5fd6146a7cb5ea87f639cab18b2a05b.46.llvm.3779847476987057767\n+[13080](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000488 __imp_anon.941f0f04b36aa440174d89d326747b6f.33.llvm.16620058351426711825\n+[13081](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c2358 free\n+[13082](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000720 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.99.llvm.13665133684747362110\n+[13083](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000920 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.37.llvm.4036729494550109879\n+[13084](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000f10 __data_end__\n+[13085](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a288 WaitForMultipleObjects\n+[13086](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000948 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.42.llvm.4036729494550109879\n+[13087](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001512c anon.7a6259c55b9abecd4a2eb0873fc8b779.43.llvm.10283439849247210698\n+[13088](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000da8 __imp_anon.df4f5fc91c1c1e84f2976758feaea474.18.llvm.17095335174290335670\n+[13089](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003208 anon.edf9b0bdfd963b6a2ea99216811efd5e.110.llvm.65172163764165323\n+[13090](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008b0 __imp_QueryPerformanceFrequency\n+[13091](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c31a0 ___CTOR_LIST__\n+[13092](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a390 Module32FirstW\n+[13093](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002c0 __imp__ZN3std2io5stdio14OUTPUT_CAPTURE7__getit5__KEY17h4bf77338c012dfcbE.llvm.11685822864145163790\n+[13094](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005b60 anon.2fc0b598515d6d45a6f7a748d37f9e68.43.llvm.9180192027238945235\n+[13095](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006e8 __imp_CreateWaitableTimerExW\n+[13096](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a268 WriteFileEx\n+[13097](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000910 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.33.llvm.4036729494550109879\n+[13098](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a648 accept\n+[13099](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006ee6 anon.5188eecf01c48ed8fcadadd01fcebeeb.46.llvm.10386673973210777259\n+[13100](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007a0 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.15.llvm.9180192027238945235\n+[13101](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a440 GetFullPathNameW\n+[13102](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ba8 __imp_anon.f9f4f594184b6b9eb1b0ca5252c051c0.18.llvm.16633491867513938143\n+[13103](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __minor_os_version__\n+[13104](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000d8 __imp__ZN3std5panic14SHOULD_CAPTURE17h47fa1dca84a94988E.0.llvm.12196597439006139751\n+[13105](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000958 __imp_TerminateProcess\n+[13106](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004f8 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.20.llvm.14048921605721191922\n+[13107](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006898 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.58.llvm.4036729494550109879\n+[13108](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000032e0 anon.edf9b0bdfd963b6a2ea99216811efd5e.118.llvm.65172163764165323\n+[13109](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008f0 __imp_SetCurrentDirectoryW\n+[13110](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dd53 anon.07b55acb663eb35d742bae824872f75e.32.llvm.58757282566773765\n+[13111](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000818 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.83.llvm.9180192027238945235\n+[13112](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003948 anon.941f0f04b36aa440174d89d326747b6f.30.llvm.16620058351426711825\n+[13113](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015ec8 anon.8d718ed12c404e6593cdb19a2e5276ea.5.llvm.819651363561423643\n+[13114](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000368 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.0.llvm.65172163764165323\n+[13115](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000d8 _ZN3std9panicking11panic_count18GLOBAL_PANIC_COUNT17h5b40b3f81b5486b3E\n+[13116](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000088 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.6.llvm.12196597439006139751\n+[13117](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003740 anon.941f0f04b36aa440174d89d326747b6f.12.llvm.16620058351426711825\n+[13118](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dccd anon.07b55acb663eb35d742bae824872f75e.25.llvm.58757282566773765\n+[13119](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a4a8 GetConsoleMode\n+[13120](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000004b0 __imp_anon.941f0f04b36aa440174d89d326747b6f.57.llvm.16620058351426711825\n+[13121](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000508 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.22.llvm.14048921605721191922\n+[13122](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000780 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.11.llvm.9180192027238945235\n+[13123](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c58 anon.c5e06b7d2fb27e4271afbca860883ce8.22.llvm.12196597439006139751\n+[13124](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dbe9 anon.07b55acb663eb35d742bae824872f75e.9.llvm.58757282566773765\n+[13125](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000300 __imp_anon.2d4ed69d03b8b00b295e2865b118c80a.6.llvm.9587153679006429619\n+[13126](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003c20 anon.941f0f04b36aa440174d89d326747b6f.59.llvm.16620058351426711825\n+[13127](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000688 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.14.llvm.13665133684747362110\n+[13128](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000006e0 __imp_CreateToolhelp32Snapshot\n+[13129](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000588 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.118.llvm.14048921605721191922\n+[13130](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004738 anon.ce6f0c62864fa439afba1682d1475d3d.120.llvm.14048921605721191922\n+[13131](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000000 __dll__\n+[13132](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a3d0 GetWindowsDirectoryW\n+[13133](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c10 __imp_str.0.llvm.12123695082059135366\n+[13134](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e70 __imp_anon.34ba7072d2fdbfb72b844525ea0f1e7b.0.llvm.3215435228619338225\n+[13135](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000870 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.94.llvm.9180192027238945235\n+[13136](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000620 __imp_anon.a43af9cc4981a42dd00b013f8f55f130.0.llvm.13665133684747362110\n+[13137](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ab0 __imp_WSARecv\n+[13138](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001db13 anon.07b55acb663eb35d742bae824872f75e.1.llvm.58757282566773765\n+[13139](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006360 str.0.llvm.4036729494550109879\n+[13140](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001e60 anon.577344e6c4a90a10ff600a929dedcba7.4.llvm.11685822864145163790\n+[13141](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a38 __imp_realloc\n+[13142](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000029 _ZN3std2io5stdio19OUTPUT_CAPTURE_USED17he4f9ce513cba35dbE.0.llvm.11685822864145163790\n+[13143](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000003998 anon.941f0f04b36aa440174d89d326747b6f.33.llvm.16620058351426711825\n+[13144](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000900 __imp_SetFileAttributesW\n+[13145](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000057fd anon.2fc0b598515d6d45a6f7a748d37f9e68.12.llvm.9180192027238945235\n+[13146](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000052b8 anon.a43af9cc4981a42dd00b013f8f55f130.115.llvm.13665133684747362110\n+[13147](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a340 RtlCaptureContext\n+[13148](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000bb8 __imp_anon.3bd369ec61590d9272c591ac87029920.0.llvm.2123515186662715695\n+[13149](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2180 _Unwind_Resume\n+[13150](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007e8 __imp_GetModuleHandleW\n+[13151](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009d0 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.13.llvm.10386673973210777259\n+[13152](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e38 __imp_anon.07b55acb663eb35d742bae824872f75e.28.llvm.58757282566773765\n+[13153](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b08 __imp_anon.567cec0599d353b04e33d4229b5f9b30.9.llvm.2628756017061842597\n+[13154](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005870 anon.2fc0b598515d6d45a6f7a748d37f9e68.16.llvm.9180192027238945235\n+[13155](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000047c8 anon.a43af9cc4981a42dd00b013f8f55f130.2.llvm.13665133684747362110\n+[13156](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013a78 anon.1cd6cbb5d23cd003f709872fa6a8a6dd.8.llvm.9517595369394268439\n+[13157](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000338 __imp_anon.2d4ed69d03b8b00b295e2865b118c80a.17.llvm.9587153679006429619\n+[13158](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000010e98 anon.567cec0599d353b04e33d4229b5f9b30.10.llvm.2628756017061842597\n+[13159](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000057d9 anon.2fc0b598515d6d45a6f7a748d37f9e68.11.llvm.9180192027238945235\n+[13160](sec 7)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x0000000000000158 __rust_alloc_error_handler_should_panic\n+[13161](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022be0 .refptr.__native_dllmain_reason\n+[13162](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000888 anon.08c341bb7f186daefc16bdd18254cc9c.7.llvm.2852608270795916942\n+[13163](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a658 WSASocketW\n+[13164](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001e30 anon.577344e6c4a90a10ff600a929dedcba7.0.llvm.11685822864145163790\n+[13165](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000001d0 anon.7ce35b53eeafc768de935b4fef3da959.12.llvm.1024159395525823541\n+[13166](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000007f20 anon.75cd115d168aa5adc70873d7be22c67a.12.llvm.8768119154728042530\n+[13167](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000250 __bss_end__\n+[13168](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a5e0 select\n+[13169](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000009a8 __imp_anon.5188eecf01c48ed8fcadadd01fcebeeb.2.llvm.10386673973210777259\n+[13170](sec 11)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000008 _tls_end\n+[13171](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015318 anon.7a6259c55b9abecd4a2eb0873fc8b779.68.llvm.10283439849247210698\n+[13172](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b68 __imp_anon.7ec0d7d1b51f482853d19890eaa43e99.13.llvm.4855701895496871646\n+[13173](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015138 anon.7a6259c55b9abecd4a2eb0873fc8b779.49.llvm.10283439849247210698\n+[13174](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000760 __imp_GetConsoleMode\n+[13175](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a4f0 DuplicateHandle\n+[13176](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a478 GetEnvironmentVariableW\n+[13177](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005a10 anon.2fc0b598515d6d45a6f7a748d37f9e68.31.llvm.9180192027238945235\n+[13178](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002f0 __imp_anon.2d4ed69d03b8b00b295e2865b118c80a.4.llvm.9587153679006429619\n+[13179](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013506 anon.3bd369ec61590d9272c591ac87029920.6.llvm.2123515186662715695\n+[13180](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000498 __imp_anon.941f0f04b36aa440174d89d326747b6f.43.llvm.16620058351426711825\n+[13181](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a568 CopyFileExW\n+[13182](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000130 __imp_anon.03a7b1eb39947173efb71e48c5b540f4.5.llvm.10021583357862909\n+[13183](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000950 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.44.llvm.4036729494550109879\n+[13184](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004844 anon.a43af9cc4981a42dd00b013f8f55f130.12.llvm.13665133684747362110\n+[13185](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d88 __imp_anon.df4f5fc91c1c1e84f2976758feaea474.14.llvm.17095335174290335670\n+[13186](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000002708 anon.2d4ed69d03b8b00b295e2865b118c80a.3.llvm.9587153679006429619\n+[13187](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ce0 anon.c5e06b7d2fb27e4271afbca860883ce8.27.llvm.12196597439006139751\n+[13188](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c3168 LeaveCriticalSection\n+[13189](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000738 __imp_FindNextFileW\n+[13190](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000000c8 __imp_anon.c5e06b7d2fb27e4271afbca860883ce8.25.llvm.12196597439006139751\n+[13191](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000868 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.93.llvm.9180192027238945235\n+[13192](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007f8 __imp_GetProcAddress\n+[13193](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000de8 __imp_anon.07b55acb663eb35d742bae824872f75e.18.llvm.58757282566773765\n+[13194](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ac8 __imp_WSAStartup\n+[13195](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002d0 __imp_anon.2d4ed69d03b8b00b295e2865b118c80a.0.llvm.9587153679006429619\n+[13196](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004498 anon.ce6f0c62864fa439afba1682d1475d3d.82.llvm.14048921605721191922\n+[13197](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000958 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.45.llvm.4036729494550109879\n+[13198](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013845 anon.bb01d4b423a85a795a1692e8cd9c64e5.9.llvm.11285312269184381906\n+[13199](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006b88 anon.5188eecf01c48ed8fcadadd01fcebeeb.13.llvm.10386673973210777259\n+[13200](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000061f8 anon.2fc0b598515d6d45a6f7a748d37f9e68.91.llvm.9180192027238945235\n+[13201](sec 10)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000020 __xi_z\n+[13202](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000ad8 __imp_anon.fc3e879c0d0583c039a7967db6c0c117.1.llvm.14670435032436802275\n+[13203](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015116 anon.7a6259c55b9abecd4a2eb0873fc8b779.36.llvm.10283439849247210698\n+[13204](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000af8 __imp_anon.567cec0599d353b04e33d4229b5f9b30.3.llvm.2628756017061842597\n+[13205](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000200 __file_alignment__\n+[13206](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a3f0 GetSystemDirectoryW\n+[13207](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b80 __imp__Unwind_GetIPInfo\n+[13208](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000270 __imp_anon.577344e6c4a90a10ff600a929dedcba7.51.llvm.11685822864145163790\n+[13209](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000060 anon.7ce35b53eeafc768de935b4fef3da959.2.llvm.1024159395525823541\n+[13210](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000938 __imp_anon.43b2cdb594d6435ffb5d037f4e7ac2c3.40.llvm.4036729494550109879\n+[13211](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d68 anon.2611162d579b3e706d0c0f15accb8ea6.2.llvm.17987727548992354187\n+[13212](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000194 __mingw_initltsdyn_force\n+[13213](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a2f8 SetHandleInformation\n+[13214](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000012c8 anon.03a7b1eb39947173efb71e48c5b540f4.13.llvm.10021583357862909\n+[13215](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a4b8 FreeEnvironmentStringsW\n+[13216](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2368 memcpy\n+[13217](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000d08 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.66.llvm.10283439849247210698\n+[13218](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000cc8 __imp_anon.7a6259c55b9abecd4a2eb0873fc8b779.45.llvm.10283439849247210698\n+[13219](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c48 __imp_anon.1cd6cbb5d23cd003f709872fa6a8a6dd.31.llvm.9517595369394268439\n+[13220](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000007f0 __imp_GetOverlappedResult\n+[13221](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000480 __imp_anon.941f0f04b36aa440174d89d326747b6f.32.llvm.16620058351426711825\n+[13222](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002e0 __imp_anon.2d4ed69d03b8b00b295e2865b118c80a.2.llvm.9587153679006429619\n+[13223](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c2348 _unlock\n+[13224](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000140 _ZN3std3sys3pal7windows3net11WSA_CLEANUP17he970e99e25d07381E.llvm.4036729494550109879\n+[13225](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000510 __imp__ZN3std2rt7cleanup7CLEANUP17h07b9456e6b4bf964E.llvm.14048921605721191922\n+[13226](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000002e8 __imp_anon.2d4ed69d03b8b00b295e2865b118c80a.3.llvm.9587153679006429619\n+[13227](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000037a0 anon.941f0f04b36aa440174d89d326747b6f.14.llvm.16620058351426711825\n+[13228](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000013952 anon.9de54bf691a285dd20d4e87e6b508fbd.8.llvm.12123695082059135366\n+[13229](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005910 anon.2fc0b598515d6d45a6f7a748d37f9e68.21.llvm.9180192027238945235\n+[13230](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dd50 anon.07b55acb663eb35d742bae824872f75e.31.llvm.58757282566773765\n+[13231](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004340 anon.ce6f0c62864fa439afba1682d1475d3d.71.llvm.14048921605721191922\n+[13232](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000c30 __imp_anon.9de54bf691a285dd20d4e87e6b508fbd.9.llvm.12123695082059135366\n+[13233](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dcc9 anon.07b55acb663eb35d742bae824872f75e.23.llvm.58757282566773765\n+[13234](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000670 __imp_AddVectoredExceptionHandler\n+[13235](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003e8 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.108.llvm.65172163764165323\n+[13236](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000003f0 __imp_anon.edf9b0bdfd963b6a2ea99216811efd5e.109.llvm.65172163764165323\n+[13237](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a380 MoveFileExW\n+[13238](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000010338 anon.d13ef5d19e380ff1a25cb10df774bd92.2.llvm.13995198208019911955\n+[13239](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000c2388 strlen\n+[13240](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000840 __imp_HeapAlloc\n+[13241](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000948 __imp_SleepEx\n+[13242](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a5c0 shutdown\n+[13243](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000740 __imp_FlushFileBuffers\n+[13244](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000044b0 anon.ce6f0c62864fa439afba1682d1475d3d.83.llvm.14048921605721191922\n+[13245](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006758 anon.43b2cdb594d6435ffb5d037f4e7ac2c3.41.llvm.4036729494550109879\n+[13246](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000dd0 anon.2611162d579b3e706d0c0f15accb8ea6.4.llvm.17987727548992354187\n+[13247](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001e50 anon.577344e6c4a90a10ff600a929dedcba7.3.llvm.11685822864145163790\n+[13248](sec 7)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000160 _ZN10std_detect6detect5cache5CACHE17hf632556ed460aa26E\n+[13249](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000015360 anon.7a6259c55b9abecd4a2eb0873fc8b779.71.llvm.10283439849247210698\n+[13250](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004c88 anon.a43af9cc4981a42dd00b013f8f55f130.66.llvm.13665133684747362110\n+[13251](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a4f8 DeviceIoControl\n+[13252](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000019bc __lib64_libkernel32_a_iname\n+[13253](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000858 __imp_anon.2fc0b598515d6d45a6f7a748d37f9e68.91.llvm.9180192027238945235\n+[13254](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000069e0 anon.5188eecf01c48ed8fcadadd01fcebeeb.0.llvm.10386673973210777259\n+[13255](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000003c _head_lib64_libmsvcrt_def_a\n+[13256](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000000745f anon.5188eecf01c48ed8fcadadd01fcebeeb.102.llvm.10386673973210777259\n+[13257](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000001dc20 anon.07b55acb663eb35d742bae824872f75e.12.llvm.58757282566773765\n+[13258](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000060f1 anon.2fc0b598515d6d45a6f7a748d37f9e68.84.llvm.9180192027238945235\n+[13259](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000229a0 __dyn_tls_init_callback\n+[13260](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000580 __imp_anon.ce6f0c62864fa439afba1682d1475d3d.117.llvm.14048921605721191922\n+[13261](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000008f8 __imp_SetEnvironmentVariableW\n+[13262](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a2c8 SwitchToThread\n+[13263](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000001000 __size_of_stack_commit__\n+[13264](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000004720 anon.ce6f0c62864fa439afba1682d1475d3d.119.llvm.14048921605721191922\n+[13265](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a4e8 ExitProcess\n+[13266](sec -1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000160 __dll_characteristics__\n+[13267](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000022bf0 .refptr.__native_startup_lock\n+[13268](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x00000000000015b0 anon.03a7b1eb39947173efb71e48c5b540f4.51.llvm.10021583357862909\n+[13269](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a30 __imp_memset\n+[13270](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000e78 __imp_anon.34ba7072d2fdbfb72b844525ea0f1e7b.1.llvm.3215435228619338225\n+[13271](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000a78 anon.c5e06b7d2fb27e4271afbca860883ce8.6.llvm.12196597439006139751\n+[13272](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000012e20 anon.7ec0d7d1b51f482853d19890eaa43e99.0.llvm.4855701895496871646\n [13273](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a620 getaddrinfo\n [13274](sec 1)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x000000000006a4e0 FindClose\n [13275](sec 9)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000b38 __imp_select\n [13276](sec 2)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000000048 __imp_anon.08c341bb7f186daefc16bdd18254cc9c.3.llvm.2852608270795916942\n [13277](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000005320 anon.a43af9cc4981a42dd00b013f8f55f130.118.llvm.13665133684747362110\n [13278](sec 1)(fl 0x00)(ty 20)(scl 2) (nx 0) 0x00000000000c2340 _lock\n [13279](sec 3)(fl 0x00)(ty 0)(scl 2) (nx 0) 0x0000000000006280 anon.2fc0b598515d6d45a6f7a748d37f9e68.97.llvm.9180192027238945235\n@@ -3039268,25 +3039268,25 @@\n 1808cec0b:\tjo 1808cec6e <__bss_end__+0x27a1e>\n 1808cec0d:\toutsb %ds:(%rsi),(%dx)\n 1808cec0e:\t.byte 0x69\n 1808cec0f:\tmovsxd (%rax),%eax\n \n Disassembly of section .idata:\n \n-00000001808cf000 <_head__tmp_rustcBv6EAf_api_ms_win_core_synch_l1_2_0_lib>:\n+00000001808cf000 <_head__tmp_rustcpdeyFw_api_ms_win_core_synch_l1_2_0_lib>:\n 1808cf000:\tmov $0x8cf0,%eax\n 1808cf005:\tadd %al,(%rax)\n 1808cf007:\tadd %al,(%rax)\n 1808cf009:\tadd %al,(%rax)\n 1808cf00b:\tadd %dl,%al\n 1808cf00d:\t(bad)\n 1808cf00e:\tlea (%rax),%eax\n 1808cf010:\trex testb $0x0,0x8cf0d8(%rax,%rax,1)\n \n-00000001808cf014 <_head__tmp_rustcBv6EAf_bcryptprimitives_lib>:\n+00000001808cf014 <_head__tmp_rustcpdeyFw_bcryptprimitives_lib>:\n 1808cf014:\tfdiv %st(0),%st\n 1808cf016:\tmov %es,(%rax)\n \t...\n 1808cf020:\tclc\n 1808cf021:\t(bad)\n 1808cf022:\tlea (%rax),%eax\n 1808cf024:\t(bad)\n@@ -3042807,39 +3042807,39 @@\n 00000001808d0758 <.idata$6>:\n 1808d0758:\tor $0x6e555f00,%eax\n 1808d075d:\tja 1808d07c8 <.idata$7>\n 1808d075f:\toutsb %ds:(%rsi),(%dx)\n 1808d0760:\tfs pop %rdi\n 1808d0762:\trex.RXB\n 1808d0763:\tgs je 1808d07ba <.idata$6+0x6>\n- 1808d0766:\tgs js 1808d07dd <___tmp_rustcBv6EAf_api_ms_win_core_synch_l1_2_0_lib_iname+0xd>\n+ 1808d0766:\tgs js 1808d07dd <___tmp_rustcpdeyFw_api_ms_win_core_synch_l1_2_0_lib_iname+0xd>\n 1808d0769:\tpush %rdx\n 1808d076a:\tgs insb (%dx),%es:(%rdi)\n 1808d076c:\trex.X (bad)\n- 1808d076e:\tjae 1808d07d5 <___tmp_rustcBv6EAf_api_ms_win_core_synch_l1_2_0_lib_iname+0x5>\n+ 1808d076e:\tjae 1808d07d5 <___tmp_rustcpdeyFw_api_ms_win_core_synch_l1_2_0_lib_iname+0x5>\n 1808d0770:\tadd %al,(%rax)\n \t...\n \n 00000001808d0774 <.idata$6>:\n 1808d0774:\t(bad)\n 1808d0775:\tadd %bl,0x55(%rdi)\n 1808d0778:\toutsb %ds:(%rsi),(%dx)\n- 1808d0779:\tja 1808d07e4 <___tmp_rustcBv6EAf_api_ms_win_core_synch_l1_2_0_lib_iname+0x14>\n+ 1808d0779:\tja 1808d07e4 <___tmp_rustcpdeyFw_api_ms_win_core_synch_l1_2_0_lib_iname+0x14>\n 1808d077b:\toutsb %ds:(%rsi),(%dx)\n 1808d077c:\tfs pop %rdi\n 1808d077e:\tpush %rdx\n 1808d077f:\t(bad)\n 1808d0780:\timul $0x65637845,0x65(%rbx),%esi\n- 1808d0787:\tjo 1808d07fd <___tmp_rustcBv6EAf_bcryptprimitives_lib_iname+0x5>\n+ 1808d0787:\tjo 1808d07fd <___tmp_rustcpdeyFw_bcryptprimitives_lib_iname+0x5>\n 1808d0789:\timul $0x0,0x6e(%rdi),%ebp\n \n 00000001808d0790 <.idata$6>:\n 1808d0790:\tltr 0x55(%rdi)\n 1808d0794:\toutsb %ds:(%rsi),(%dx)\n- 1808d0795:\tja 1808d0800 <___tmp_rustcBv6EAf_bcryptprimitives_lib_iname+0x8>\n+ 1808d0795:\tja 1808d0800 <___tmp_rustcpdeyFw_bcryptprimitives_lib_iname+0x8>\n 1808d0797:\toutsb %ds:(%rsi),(%dx)\n 1808d0798:\tfs pop %rdi\n 1808d079a:\tpush %rdx\n 1808d079b:\tgs jae 1808d0813 <.idata$7+0x3>\n 1808d079e:\tinsl (%dx),%es:(%rdi)\n 1808d079f:\tadd %al,%gs:(%rax)\n \t...\n@@ -3042849,28 +3042849,28 @@\n 1808d07a6:\tpop %rdi\n 1808d07a7:\tpush %rbp\n 1808d07a8:\toutsb %ds:(%rsi),(%dx)\n 1808d07a9:\tja 1808d0814 <.idata$7>\n 1808d07ab:\toutsb %ds:(%rsi),(%dx)\n 1808d07ac:\tfs pop %rdi\n 1808d07ae:\tpush %rbx\n- 1808d07af:\tgs je 1808d07f9 <___tmp_rustcBv6EAf_bcryptprimitives_lib_iname+0x1>\n+ 1808d07af:\tgs je 1808d07f9 <___tmp_rustcpdeyFw_bcryptprimitives_lib_iname+0x1>\n 1808d07b2:\tpush %rdx\n \t...\n \n 00000001808d07b4 <.idata$6>:\n 1808d07b4:\tadc (%rax),%al\n 1808d07b6:\tpop %rdi\n 1808d07b7:\tpush %rbp\n 1808d07b8:\toutsb %ds:(%rsi),(%dx)\n 1808d07b9:\tja 1808d0824 <.idata$7>\n 1808d07bb:\toutsb %ds:(%rsi),(%dx)\n 1808d07bc:\tfs pop %rdi\n 1808d07be:\tpush %rbx\n- 1808d07bf:\tgs je 1808d080b <___tmp_rustcBv6EAf_bcryptprimitives_lib_iname+0x13>\n+ 1808d07bf:\tgs je 1808d080b <___tmp_rustcpdeyFw_bcryptprimitives_lib_iname+0x13>\n 1808d07c2:\tpush %rax\n \t...\n \n 00000001808d07c4 <.idata$7>:\n 1808d07c4:\tadd %dh,%al\n 1808d07c6:\tmov %es,(%rax)\n \n@@ -3042878,15 +3042878,15 @@\n 1808d07c8:\tadd %dh,%al\n 1808d07ca:\tmov %es,(%rax)\n \n 00000001808d07cc <.idata$7>:\n 1808d07cc:\tadd %dh,%al\n 1808d07ce:\tmov %es,(%rax)\n \n-00000001808d07d0 <___tmp_rustcBv6EAf_api_ms_win_core_synch_l1_2_0_lib_iname>:\n+00000001808d07d0 <___tmp_rustcpdeyFw_api_ms_win_core_synch_l1_2_0_lib_iname>:\n 1808d07d0:\t(bad)\n 1808d07d1:\tjo 1808d083c <.idata$7>\n 1808d07d3:\tsub $0x772d736d,%eax\n 1808d07d8:\timul $0x65726f63,0x2d(%rsi),%ebp\n 1808d07df:\tsub $0x636e7973,%eax\n 1808d07e4:\tpush $0x2d316c2d\n 1808d07e9:\txor 0x6c642e30(%rip),%ch # 1ecf1361f <.debug_rnglists+0x6b77c55f>\n@@ -3042894,15 +3042894,15 @@\n 1808d07f0:\tadd %al,(%rax)\n \t...\n \n 00000001808d07f4 <.idata$7>:\n 1808d07f4:\tadc $0xf0,%al\n 1808d07f6:\tmov %es,(%rax)\n \n-00000001808d07f8 <___tmp_rustcBv6EAf_bcryptprimitives_lib_iname>:\n+00000001808d07f8 <___tmp_rustcpdeyFw_bcryptprimitives_lib_iname>:\n 1808d07f8:\t(bad)\n 1808d07fa:\tjb 1808d0875 <.idata$7+0x1>\n 1808d07fc:\tjo 1808d0872 <.idata$7+0x2>\n 1808d07fe:\tjo 1808d0872 <.idata$7+0x2>\n 1808d0800:\timul $0x65766974,0x69(%rbp),%ebp\n 1808d0807:\tjae 1808d0837 <.idata$7+0x3>\n 1808d0809:\tfs insb (%dx),%es:(%rdi)\n@@ -4194295,8 +4194295,8 @@\n 180b95a5a:\t(bad)\n 180b95a5b:\tshrb 0x171a0019(%rdx)\n 180b95a61:\tadc %bl,(%rdx)\n 180b95a63:\tadd %dh,%dl\n 180b95a65:\tbndldx (%rax),%bnd0\n 180b95a68:\tsbb 0x8(%rdx),%ch\n 180b95a6b:\tmov 0xa010001(%rbx),%bl\n-[ Too much input for diff (SHA256: 344bf2998d6f5dbaa23abbe382dddbcbfd944fc0df3a491917361d6e962f2ed9) ]\n+[ Too much input for diff (SHA256: 99ec874e24acb40de6cfb0c688497c773f8e2fd4088979c5dea6a7fa08c22361) ]\n"}]}]}]}]}, {"source1": "rust-web-doc_1.78.0+dfsg1-2~deb12u3_all.deb", "source2": "rust-web-doc_1.78.0+dfsg1-2~deb12u3_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2024-08-28 14:44:23.000000 debian-binary\n--rw-r--r-- 0 0 0 763180 2024-08-28 14:44:23.000000 control.tar.xz\n--rw-r--r-- 0 0 0 19434036 2024-08-28 14:44:23.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 763236 2024-08-28 14:44:23.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 19271176 2024-08-28 14:44:23.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./control", "source2": "./control", "unified_diff": "@@ -1,13 +1,13 @@\n Package: rust-web-doc\n Source: rustc-web\n Version: 1.78.0+dfsg1-2~deb12u3\n Architecture: all\n Maintainer: Debian Rust Maintainers \n-Installed-Size: 567591\n+Installed-Size: 569595\n Depends: libjs-jquery, libjs-highlight.js, libjs-mathjax, fonts-open-sans, fonts-font-awesome\n Recommends: cargo-web-doc\n Conflicts: rust-doc, rust-mozilla-doc\n Section: doc\n Priority: optional\n Homepage: http://www.rust-lang.org/\n Description: Rust systems programming language - Documentation\n"}, {"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -10,53 +10,53 @@\n -rw-r--r-- 0 root (0) root (0) 8565 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/changelog.Debian.gz\n -rw-r--r-- 0 root (0) root (0) 181976 2024-04-29 14:03:23.000000 ./usr/share/doc/rust-web-doc/changelog.gz\n -rw-r--r-- 0 root (0) root (0) 120683 2024-06-24 05:36:38.000000 ./usr/share/doc/rust-web-doc/copyright\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/\n -rw-r--r-- 0 root (0) root (0) 19220 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/all.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/\n--rw-r--r-- 0 root (0) root (0) 7113 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/fn.alloc.html\n--rw-r--r-- 0 root (0) root (0) 6856 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/fn.alloc_zeroed.html\n--rw-r--r-- 0 root (0) root (0) 5688 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/fn.dealloc.html\n--rw-r--r-- 0 root (0) root (0) 6352 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/fn.handle_alloc_error.html\n--rw-r--r-- 0 root (0) root (0) 5906 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/fn.realloc.html\n+-rw-r--r-- 0 root (0) root (0) 7167 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/fn.alloc.html\n+-rw-r--r-- 0 root (0) root (0) 6910 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/fn.alloc_zeroed.html\n+-rw-r--r-- 0 root (0) root (0) 5742 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/fn.dealloc.html\n+-rw-r--r-- 0 root (0) root (0) 6433 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/fn.handle_alloc_error.html\n+-rw-r--r-- 0 root (0) root (0) 6041 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/fn.realloc.html\n -rw-r--r-- 0 root (0) root (0) 8501 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/index.html\n -rw-r--r-- 0 root (0) root (0) 209 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/sidebar-items1.78.0.js\n--rw-r--r-- 0 root (0) root (0) 35478 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/struct.AllocError.html\n--rw-r--r-- 0 root (0) root (0) 37581 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/struct.Global.html\n--rw-r--r-- 0 root (0) root (0) 55924 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/struct.Layout.html\n--rw-r--r-- 0 root (0) root (0) 36744 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/struct.LayoutError.html\n--rw-r--r-- 0 root (0) root (0) 34558 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/trait.Allocator.html\n--rw-r--r-- 0 root (0) root (0) 24449 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/trait.GlobalAlloc.html\n--rw-r--r-- 0 root (0) root (0) 5114 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/type.LayoutErr.html\n+-rw-r--r-- 0 root (0) root (0) 38367 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/struct.AllocError.html\n+-rw-r--r-- 0 root (0) root (0) 40146 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/struct.Global.html\n+-rw-r--r-- 0 root (0) root (0) 59812 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/struct.Layout.html\n+-rw-r--r-- 0 root (0) root (0) 39633 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/struct.LayoutError.html\n+-rw-r--r-- 0 root (0) root (0) 36286 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/trait.Allocator.html\n+-rw-r--r-- 0 root (0) root (0) 25178 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/trait.GlobalAlloc.html\n+-rw-r--r-- 0 root (0) root (0) 5141 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/alloc/type.LayoutErr.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/borrow/\n--rw-r--r-- 0 root (0) root (0) 165792 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/borrow/enum.Cow.html\n+-rw-r--r-- 0 root (0) root (0) 177969 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/borrow/enum.Cow.html\n -rw-r--r-- 0 root (0) root (0) 5657 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/borrow/index.html\n -rw-r--r-- 0 root (0) root (0) 81 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/borrow/sidebar-items1.78.0.js\n--rw-r--r-- 0 root (0) root (0) 24087 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/borrow/trait.Borrow.html\n--rw-r--r-- 0 root (0) root (0) 11464 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/borrow/trait.BorrowMut.html\n--rw-r--r-- 0 root (0) root (0) 14320 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/borrow/trait.ToOwned.html\n+-rw-r--r-- 0 root (0) root (0) 24816 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/borrow/trait.Borrow.html\n+-rw-r--r-- 0 root (0) root (0) 11923 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/borrow/trait.BorrowMut.html\n+-rw-r--r-- 0 root (0) root (0) 14482 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/borrow/trait.ToOwned.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/boxed/\n--rw-r--r-- 0 root (0) root (0) 15351 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/boxed/index.html\n+-rw-r--r-- 0 root (0) root (0) 15432 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/boxed/index.html\n -rw-r--r-- 0 root (0) root (0) 52 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/boxed/sidebar-items1.78.0.js\n--rw-r--r-- 0 root (0) root (0) 449983 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/boxed/struct.Box.html\n--rw-r--r-- 0 root (0) root (0) 42115 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/boxed/struct.ThinBox.html\n+-rw-r--r-- 0 root (0) root (0) 487351 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/boxed/struct.Box.html\n+-rw-r--r-- 0 root (0) root (0) 44950 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/boxed/struct.ThinBox.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/boxed/thin/\n -rw-r--r-- 0 root (0) root (0) 432 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/boxed/thin/struct.ThinBox.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/\n -rw-r--r-- 0 root (0) root (0) 20331 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/index.html\n -rw-r--r-- 0 root (0) root (0) 116 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/sidebar-items1.78.0.js\n--rw-r--r-- 0 root (0) root (0) 123398 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.BinaryHeap.html\n--rw-r--r-- 0 root (0) root (0) 149373 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.Drain.html\n--rw-r--r-- 0 root (0) root (0) 139001 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.DrainSorted.html\n--rw-r--r-- 0 root (0) root (0) 154699 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.IntoIter.html\n--rw-r--r-- 0 root (0) root (0) 143314 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.IntoIterSorted.html\n--rw-r--r-- 0 root (0) root (0) 148465 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.Iter.html\n--rw-r--r-- 0 root (0) root (0) 29522 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.PeekMut.html\n+-rw-r--r-- 0 root (0) root (0) 127502 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.BinaryHeap.html\n+-rw-r--r-- 0 root (0) root (0) 166629 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.Drain.html\n+-rw-r--r-- 0 root (0) root (0) 154865 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.DrainSorted.html\n+-rw-r--r-- 0 root (0) root (0) 172435 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.IntoIter.html\n+-rw-r--r-- 0 root (0) root (0) 159490 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.IntoIterSorted.html\n+-rw-r--r-- 0 root (0) root (0) 165985 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.Iter.html\n+-rw-r--r-- 0 root (0) root (0) 31298 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.PeekMut.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree/\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree/map/\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree/map/entry/\n -rw-r--r-- 0 root (0) root (0) 504 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree/map/entry/enum.Entry.html\n -rw-r--r-- 0 root (0) root (0) 544 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree/map/entry/struct.OccupiedEntry.html\n -rw-r--r-- 0 root (0) root (0) 544 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree/map/entry/struct.OccupiedError.html\n -rw-r--r-- 0 root (0) root (0) 536 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree/map/entry/struct.VacantEntry.html\n@@ -83,255 +83,255 @@\n -rw-r--r-- 0 root (0) root (0) 528 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree/set/struct.Intersection.html\n -rw-r--r-- 0 root (0) root (0) 512 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree/set/struct.IntoIter.html\n -rw-r--r-- 0 root (0) root (0) 496 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree/set/struct.Iter.html\n -rw-r--r-- 0 root (0) root (0) 500 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree/set/struct.Range.html\n -rw-r--r-- 0 root (0) root (0) 556 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree/set/struct.SymmetricDifference.html\n -rw-r--r-- 0 root (0) root (0) 500 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree/set/struct.Union.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/\n--rw-r--r-- 0 root (0) root (0) 38707 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/enum.Entry.html\n+-rw-r--r-- 0 root (0) root (0) 40699 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/enum.Entry.html\n -rw-r--r-- 0 root (0) root (0) 11206 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/index.html\n -rw-r--r-- 0 root (0) root (0) 277 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/sidebar-items1.78.0.js\n--rw-r--r-- 0 root (0) root (0) 202416 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.BTreeMap.html\n--rw-r--r-- 0 root (0) root (0) 32520 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.Cursor.html\n--rw-r--r-- 0 root (0) root (0) 40536 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.CursorMut.html\n--rw-r--r-- 0 root (0) root (0) 39724 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.CursorMutKey.html\n--rw-r--r-- 0 root (0) root (0) 134595 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.ExtractIf.html\n--rw-r--r-- 0 root (0) root (0) 150904 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.IntoIter.html\n--rw-r--r-- 0 root (0) root (0) 152747 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.IntoKeys.html\n--rw-r--r-- 0 root (0) root (0) 151269 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.IntoValues.html\n--rw-r--r-- 0 root (0) root (0) 153811 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.Iter.html\n--rw-r--r-- 0 root (0) root (0) 148637 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.IterMut.html\n--rw-r--r-- 0 root (0) root (0) 153007 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.Keys.html\n--rw-r--r-- 0 root (0) root (0) 39521 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.OccupiedEntry.html\n--rw-r--r-- 0 root (0) root (0) 33958 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.OccupiedError.html\n--rw-r--r-- 0 root (0) root (0) 152603 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.Range.html\n--rw-r--r-- 0 root (0) root (0) 145304 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.RangeMut.html\n--rw-r--r-- 0 root (0) root (0) 36485 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.UnorderedKeyError.html\n--rw-r--r-- 0 root (0) root (0) 29936 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.VacantEntry.html\n--rw-r--r-- 0 root (0) root (0) 151225 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.Values.html\n--rw-r--r-- 0 root (0) root (0) 146827 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.ValuesMut.html\n+-rw-r--r-- 0 root (0) root (0) 212304 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.BTreeMap.html\n+-rw-r--r-- 0 root (0) root (0) 34464 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.Cursor.html\n+-rw-r--r-- 0 root (0) root (0) 42576 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.CursorMut.html\n+-rw-r--r-- 0 root (0) root (0) 41764 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.CursorMutKey.html\n+-rw-r--r-- 0 root (0) root (0) 150675 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.ExtractIf.html\n+-rw-r--r-- 0 root (0) root (0) 168736 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.IntoIter.html\n+-rw-r--r-- 0 root (0) root (0) 170483 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.IntoKeys.html\n+-rw-r--r-- 0 root (0) root (0) 168813 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.IntoValues.html\n+-rw-r--r-- 0 root (0) root (0) 171955 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.Iter.html\n+-rw-r--r-- 0 root (0) root (0) 166373 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.IterMut.html\n+-rw-r--r-- 0 root (0) root (0) 170959 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.Keys.html\n+-rw-r--r-- 0 root (0) root (0) 41273 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.OccupiedEntry.html\n+-rw-r--r-- 0 root (0) root (0) 36094 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.OccupiedError.html\n+-rw-r--r-- 0 root (0) root (0) 170315 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.Range.html\n+-rw-r--r-- 0 root (0) root (0) 162560 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.RangeMut.html\n+-rw-r--r-- 0 root (0) root (0) 38621 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.UnorderedKeyError.html\n+-rw-r--r-- 0 root (0) root (0) 31664 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.VacantEntry.html\n+-rw-r--r-- 0 root (0) root (0) 168889 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.Values.html\n+-rw-r--r-- 0 root (0) root (0) 164035 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.ValuesMut.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/\n -rw-r--r-- 0 root (0) root (0) 7246 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/index.html\n -rw-r--r-- 0 root (0) root (0) 143 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/sidebar-items1.78.0.js\n--rw-r--r-- 0 root (0) root (0) 156736 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.BTreeSet.html\n--rw-r--r-- 0 root (0) root (0) 136107 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.Difference.html\n--rw-r--r-- 0 root (0) root (0) 133979 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.ExtractIf.html\n--rw-r--r-- 0 root (0) root (0) 136245 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.Intersection.html\n--rw-r--r-- 0 root (0) root (0) 148228 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.IntoIter.html\n--rw-r--r-- 0 root (0) root (0) 152263 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.Iter.html\n--rw-r--r-- 0 root (0) root (0) 151095 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.Range.html\n--rw-r--r-- 0 root (0) root (0) 134845 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.SymmetricDifference.html\n--rw-r--r-- 0 root (0) root (0) 133874 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.Union.html\n--rw-r--r-- 0 root (0) root (0) 33657 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/enum.TryReserveErrorKind.html\n+-rw-r--r-- 0 root (0) root (0) 164704 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.BTreeSet.html\n+-rw-r--r-- 0 root (0) root (0) 152187 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.Difference.html\n+-rw-r--r-- 0 root (0) root (0) 149891 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.ExtractIf.html\n+-rw-r--r-- 0 root (0) root (0) 152325 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.Intersection.html\n+-rw-r--r-- 0 root (0) root (0) 165772 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.IntoIter.html\n+-rw-r--r-- 0 root (0) root (0) 170119 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.Iter.html\n+-rw-r--r-- 0 root (0) root (0) 168519 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.Range.html\n+-rw-r--r-- 0 root (0) root (0) 150709 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.SymmetricDifference.html\n+-rw-r--r-- 0 root (0) root (0) 149738 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.Union.html\n+-rw-r--r-- 0 root (0) root (0) 35655 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/enum.TryReserveErrorKind.html\n -rw-r--r-- 0 root (0) root (0) 7964 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/\n -rw-r--r-- 0 root (0) root (0) 7262 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/index.html\n -rw-r--r-- 0 root (0) root (0) 110 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/sidebar-items1.78.0.js\n--rw-r--r-- 0 root (0) root (0) 36916 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.Cursor.html\n--rw-r--r-- 0 root (0) root (0) 52206 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.CursorMut.html\n--rw-r--r-- 0 root (0) root (0) 131589 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.ExtractIf.html\n--rw-r--r-- 0 root (0) root (0) 152977 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.IntoIter.html\n--rw-r--r-- 0 root (0) root (0) 150367 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.Iter.html\n--rw-r--r-- 0 root (0) root (0) 144852 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.IterMut.html\n--rw-r--r-- 0 root (0) root (0) 124914 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.LinkedList.html\n+-rw-r--r-- 0 root (0) root (0) 38860 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.Cursor.html\n+-rw-r--r-- 0 root (0) root (0) 54150 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.CursorMut.html\n+-rw-r--r-- 0 root (0) root (0) 147117 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.ExtractIf.html\n+-rw-r--r-- 0 root (0) root (0) 170689 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.IntoIter.html\n+-rw-r--r-- 0 root (0) root (0) 167959 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.Iter.html\n+-rw-r--r-- 0 root (0) root (0) 162084 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.IterMut.html\n+-rw-r--r-- 0 root (0) root (0) 130770 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.LinkedList.html\n -rw-r--r-- 0 root (0) root (0) 157 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/sidebar-items1.78.0.js\n--rw-r--r-- 0 root (0) root (0) 38061 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/struct.TryReserveError.html\n+-rw-r--r-- 0 root (0) root (0) 40572 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/struct.TryReserveError.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/drain/\n -rw-r--r-- 0 root (0) root (0) 500 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/drain/struct.Drain.html\n -rw-r--r-- 0 root (0) root (0) 6447 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/into_iter/\n -rw-r--r-- 0 root (0) root (0) 512 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/into_iter/struct.IntoIter.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/iter/\n -rw-r--r-- 0 root (0) root (0) 496 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/iter/struct.Iter.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/iter_mut/\n -rw-r--r-- 0 root (0) root (0) 508 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/iter_mut/struct.IterMut.html\n -rw-r--r-- 0 root (0) root (0) 83 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/sidebar-items1.78.0.js\n--rw-r--r-- 0 root (0) root (0) 149446 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/struct.Drain.html\n--rw-r--r-- 0 root (0) root (0) 150761 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/struct.IntoIter.html\n--rw-r--r-- 0 root (0) root (0) 148399 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/struct.Iter.html\n--rw-r--r-- 0 root (0) root (0) 143470 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/struct.IterMut.html\n--rw-r--r-- 0 root (0) root (0) 231680 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/struct.VecDeque.html\n+-rw-r--r-- 0 root (0) root (0) 166774 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/struct.Drain.html\n+-rw-r--r-- 0 root (0) root (0) 168041 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/struct.IntoIter.html\n+-rw-r--r-- 0 root (0) root (0) 165679 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/struct.Iter.html\n+-rw-r--r-- 0 root (0) root (0) 160366 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/struct.IterMut.html\n+-rw-r--r-- 0 root (0) root (0) 241064 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/struct.VecDeque.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/ffi/\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/ffi/c_str/\n -rw-r--r-- 0 root (0) root (0) 6311 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/ffi/c_str/index.html\n -rw-r--r-- 0 root (0) root (0) 97 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/ffi/c_str/sidebar-items1.78.0.js\n--rw-r--r-- 0 root (0) root (0) 130313 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/ffi/c_str/struct.CString.html\n--rw-r--r-- 0 root (0) root (0) 41577 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/ffi/c_str/struct.FromVecWithNulError.html\n--rw-r--r-- 0 root (0) root (0) 38243 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/ffi/c_str/struct.IntoStringError.html\n--rw-r--r-- 0 root (0) root (0) 39864 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/ffi/c_str/struct.NulError.html\n--rw-r--r-- 0 root (0) root (0) 11555 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/ffi/index.html\n+-rw-r--r-- 0 root (0) root (0) 136673 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/ffi/c_str/struct.CString.html\n+-rw-r--r-- 0 root (0) root (0) 43785 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/ffi/c_str/struct.FromVecWithNulError.html\n+-rw-r--r-- 0 root (0) root (0) 40331 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/ffi/c_str/struct.IntoStringError.html\n+-rw-r--r-- 0 root (0) root (0) 42024 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/ffi/c_str/struct.NulError.html\n+-rw-r--r-- 0 root (0) root (0) 11798 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/ffi/index.html\n -rw-r--r-- 0 root (0) root (0) 62 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/ffi/sidebar-items1.78.0.js\n--rw-r--r-- 0 root (0) root (0) 128765 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/ffi/struct.CString.html\n+-rw-r--r-- 0 root (0) root (0) 135920 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/ffi/struct.CString.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/\n--rw-r--r-- 0 root (0) root (0) 4593 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/derive.Debug.html\n--rw-r--r-- 0 root (0) root (0) 28733 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/enum.Alignment.html\n--rw-r--r-- 0 root (0) root (0) 6710 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/fn.format.html\n--rw-r--r-- 0 root (0) root (0) 7527 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/fn.write.html\n--rw-r--r-- 0 root (0) root (0) 62701 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/index.html\n+-rw-r--r-- 0 root (0) root (0) 4620 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/derive.Debug.html\n+-rw-r--r-- 0 root (0) root (0) 30974 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/enum.Alignment.html\n+-rw-r--r-- 0 root (0) root (0) 6737 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/fn.format.html\n+-rw-r--r-- 0 root (0) root (0) 7635 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/fn.write.html\n+-rw-r--r-- 0 root (0) root (0) 62971 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/index.html\n -rw-r--r-- 0 root (0) root (0) 332 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/sidebar-items1.78.0.js\n--rw-r--r-- 0 root (0) root (0) 35017 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.Arguments.html\n--rw-r--r-- 0 root (0) root (0) 30951 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.DebugList.html\n--rw-r--r-- 0 root (0) root (0) 40524 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.DebugMap.html\n--rw-r--r-- 0 root (0) root (0) 31045 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.DebugSet.html\n--rw-r--r-- 0 root (0) root (0) 32895 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.DebugStruct.html\n--rw-r--r-- 0 root (0) root (0) 28930 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.DebugTuple.html\n--rw-r--r-- 0 root (0) root (0) 47867 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.Error.html\n--rw-r--r-- 0 root (0) root (0) 78424 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.Formatter.html\n--rw-r--r-- 0 root (0) root (0) 28546 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.FormatterFn.html\n--rw-r--r-- 0 root (0) root (0) 18759 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.Binary.html\n--rw-r--r-- 0 root (0) root (0) 239022 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.Debug.html\n--rw-r--r-- 0 root (0) root (0) 56727 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.Display.html\n--rw-r--r-- 0 root (0) root (0) 17422 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.LowerExp.html\n--rw-r--r-- 0 root (0) root (0) 18239 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.LowerHex.html\n--rw-r--r-- 0 root (0) root (0) 17861 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.Octal.html\n--rw-r--r-- 0 root (0) root (0) 16289 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.Pointer.html\n--rw-r--r-- 0 root (0) root (0) 17423 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.UpperExp.html\n--rw-r--r-- 0 root (0) root (0) 18239 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.UpperHex.html\n--rw-r--r-- 0 root (0) root (0) 16974 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.Write.html\n--rw-r--r-- 0 root (0) root (0) 8035 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/type.Result.html\n--rw-r--r-- 0 root (0) root (0) 11350 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/index.html\n+-rw-r--r-- 0 root (0) root (0) 37204 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.Arguments.html\n+-rw-r--r-- 0 root (0) root (0) 32679 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.DebugList.html\n+-rw-r--r-- 0 root (0) root (0) 42441 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.DebugMap.html\n+-rw-r--r-- 0 root (0) root (0) 32773 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.DebugSet.html\n+-rw-r--r-- 0 root (0) root (0) 34704 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.DebugStruct.html\n+-rw-r--r-- 0 root (0) root (0) 30604 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.DebugTuple.html\n+-rw-r--r-- 0 root (0) root (0) 52592 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.Error.html\n+-rw-r--r-- 0 root (0) root (0) 81475 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.Formatter.html\n+-rw-r--r-- 0 root (0) root (0) 30625 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.FormatterFn.html\n+-rw-r--r-- 0 root (0) root (0) 20028 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.Binary.html\n+-rw-r--r-- 0 root (0) root (0) 255438 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.Debug.html\n+-rw-r--r-- 0 root (0) root (0) 60723 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.Display.html\n+-rw-r--r-- 0 root (0) root (0) 18502 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.LowerExp.html\n+-rw-r--r-- 0 root (0) root (0) 19400 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.LowerHex.html\n+-rw-r--r-- 0 root (0) root (0) 19022 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.Octal.html\n+-rw-r--r-- 0 root (0) root (0) 17099 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.Pointer.html\n+-rw-r--r-- 0 root (0) root (0) 18503 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.UpperExp.html\n+-rw-r--r-- 0 root (0) root (0) 19400 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.UpperHex.html\n+-rw-r--r-- 0 root (0) root (0) 17730 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.Write.html\n+-rw-r--r-- 0 root (0) root (0) 8170 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/fmt/type.Result.html\n+-rw-r--r-- 0 root (0) root (0) 11410 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/index.html\n -rw-r--r-- 0 root (0) root (0) 340 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/macro.format!.html\n--rw-r--r-- 0 root (0) root (0) 7723 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/macro.format.html\n+-rw-r--r-- 0 root (0) root (0) 7813 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/macro.format.html\n -rw-r--r-- 0 root (0) root (0) 328 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/macro.vec!.html\n--rw-r--r-- 0 root (0) root (0) 7383 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/macro.vec.html\n+-rw-r--r-- 0 root (0) root (0) 7413 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/macro.vec.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/rc/\n--rw-r--r-- 0 root (0) root (0) 25988 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/rc/index.html\n+-rw-r--r-- 0 root (0) root (0) 26258 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/rc/index.html\n -rw-r--r-- 0 root (0) root (0) 59 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/rc/sidebar-items1.78.0.js\n--rw-r--r-- 0 root (0) root (0) 220346 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/rc/struct.Rc.html\n--rw-r--r-- 0 root (0) root (0) 31531 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/rc/struct.UniqueRc.html\n--rw-r--r-- 0 root (0) root (0) 66053 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/rc/struct.Weak.html\n+-rw-r--r-- 0 root (0) root (0) 229337 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/rc/struct.Rc.html\n+-rw-r--r-- 0 root (0) root (0) 33286 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/rc/struct.UniqueRc.html\n+-rw-r--r-- 0 root (0) root (0) 68888 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/rc/struct.Weak.html\n -rw-r--r-- 0 root (0) root (0) 157 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/sidebar-items1.78.0.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/\n--rw-r--r-- 0 root (0) root (0) 4933 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/fn.from_mut.html\n--rw-r--r-- 0 root (0) root (0) 9024 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/fn.from_mut_ptr_range.html\n--rw-r--r-- 0 root (0) root (0) 8563 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/fn.from_ptr_range.html\n--rw-r--r-- 0 root (0) root (0) 11259 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/fn.from_raw_parts.html\n--rw-r--r-- 0 root (0) root (0) 7058 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/fn.from_raw_parts_mut.html\n--rw-r--r-- 0 root (0) root (0) 4824 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/fn.from_ref.html\n--rw-r--r-- 0 root (0) root (0) 10191 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/fn.range.html\n--rw-r--r-- 0 root (0) root (0) 8722 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/fn.try_range.html\n--rw-r--r-- 0 root (0) root (0) 16852 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/index.html\n+-rw-r--r-- 0 root (0) root (0) 5014 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/fn.from_mut.html\n+-rw-r--r-- 0 root (0) root (0) 9240 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/fn.from_mut_ptr_range.html\n+-rw-r--r-- 0 root (0) root (0) 8779 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/fn.from_ptr_range.html\n+-rw-r--r-- 0 root (0) root (0) 11448 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/fn.from_raw_parts.html\n+-rw-r--r-- 0 root (0) root (0) 7247 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/fn.from_raw_parts_mut.html\n+-rw-r--r-- 0 root (0) root (0) 4905 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/fn.from_ref.html\n+-rw-r--r-- 0 root (0) root (0) 10569 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/fn.range.html\n+-rw-r--r-- 0 root (0) root (0) 9019 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/fn.try_range.html\n+-rw-r--r-- 0 root (0) root (0) 16933 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/index.html\n -rw-r--r-- 0 root (0) root (0) 539 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/sidebar-items1.78.0.js\n--rw-r--r-- 0 root (0) root (0) 155767 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ArrayChunks.html\n--rw-r--r-- 0 root (0) root (0) 149541 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ArrayChunksMut.html\n--rw-r--r-- 0 root (0) root (0) 152001 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ArrayWindows.html\n--rw-r--r-- 0 root (0) root (0) 142687 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ChunkBy.html\n--rw-r--r-- 0 root (0) root (0) 142603 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ChunkByMut.html\n--rw-r--r-- 0 root (0) root (0) 148874 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.Chunks.html\n--rw-r--r-- 0 root (0) root (0) 155883 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ChunksExact.html\n--rw-r--r-- 0 root (0) root (0) 147552 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ChunksExactMut.html\n--rw-r--r-- 0 root (0) root (0) 142890 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ChunksMut.html\n--rw-r--r-- 0 root (0) root (0) 147908 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.EscapeAscii.html\n--rw-r--r-- 0 root (0) root (0) 157587 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.Iter.html\n--rw-r--r-- 0 root (0) root (0) 159621 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.IterMut.html\n--rw-r--r-- 0 root (0) root (0) 151782 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RChunks.html\n--rw-r--r-- 0 root (0) root (0) 155995 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RChunksExact.html\n--rw-r--r-- 0 root (0) root (0) 147634 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RChunksExactMut.html\n--rw-r--r-- 0 root (0) root (0) 145594 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RChunksMut.html\n--rw-r--r-- 0 root (0) root (0) 148344 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RSplit.html\n--rw-r--r-- 0 root (0) root (0) 142482 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RSplitMut.html\n--rw-r--r-- 0 root (0) root (0) 128811 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RSplitN.html\n--rw-r--r-- 0 root (0) root (0) 128712 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RSplitNMut.html\n--rw-r--r-- 0 root (0) root (0) 148917 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.Split.html\n--rw-r--r-- 0 root (0) root (0) 149501 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.SplitInclusive.html\n--rw-r--r-- 0 root (0) root (0) 143560 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.SplitInclusiveMut.html\n--rw-r--r-- 0 root (0) root (0) 140245 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.SplitMut.html\n--rw-r--r-- 0 root (0) root (0) 128676 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.SplitN.html\n--rw-r--r-- 0 root (0) root (0) 128577 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.SplitNMut.html\n--rw-r--r-- 0 root (0) root (0) 148679 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.Windows.html\n--rw-r--r-- 0 root (0) root (0) 12606 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/trait.Concat.html\n--rw-r--r-- 0 root (0) root (0) 11576 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/trait.Join.html\n--rw-r--r-- 0 root (0) root (0) 39878 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/trait.SliceIndex.html\n+-rw-r--r-- 0 root (0) root (0) 176665 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ArrayChunks.html\n+-rw-r--r-- 0 root (0) root (0) 169818 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ArrayChunksMut.html\n+-rw-r--r-- 0 root (0) root (0) 172548 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ArrayWindows.html\n+-rw-r--r-- 0 root (0) root (0) 162424 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ChunkBy.html\n+-rw-r--r-- 0 root (0) root (0) 162286 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ChunkByMut.html\n+-rw-r--r-- 0 root (0) root (0) 169259 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.Chunks.html\n+-rw-r--r-- 0 root (0) root (0) 176349 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ChunksExact.html\n+-rw-r--r-- 0 root (0) root (0) 167478 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ChunksExactMut.html\n+-rw-r--r-- 0 root (0) root (0) 162735 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ChunksMut.html\n+-rw-r--r-- 0 root (0) root (0) 167618 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.EscapeAscii.html\n+-rw-r--r-- 0 root (0) root (0) 178566 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.Iter.html\n+-rw-r--r-- 0 root (0) root (0) 180168 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.IterMut.html\n+-rw-r--r-- 0 root (0) root (0) 172167 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RChunks.html\n+-rw-r--r-- 0 root (0) root (0) 176461 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RChunksExact.html\n+-rw-r--r-- 0 root (0) root (0) 167560 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RChunksExactMut.html\n+-rw-r--r-- 0 root (0) root (0) 165439 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RChunksMut.html\n+-rw-r--r-- 0 root (0) root (0) 168675 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RSplit.html\n+-rw-r--r-- 0 root (0) root (0) 162192 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RSplitMut.html\n+-rw-r--r-- 0 root (0) root (0) 146874 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RSplitN.html\n+-rw-r--r-- 0 root (0) root (0) 146721 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RSplitNMut.html\n+-rw-r--r-- 0 root (0) root (0) 169410 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.Split.html\n+-rw-r--r-- 0 root (0) root (0) 169832 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.SplitInclusive.html\n+-rw-r--r-- 0 root (0) root (0) 163270 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.SplitInclusiveMut.html\n+-rw-r--r-- 0 root (0) root (0) 159955 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.SplitMut.html\n+-rw-r--r-- 0 root (0) root (0) 146739 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.SplitN.html\n+-rw-r--r-- 0 root (0) root (0) 146586 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.SplitNMut.html\n+-rw-r--r-- 0 root (0) root (0) 169064 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/struct.Windows.html\n+-rw-r--r-- 0 root (0) root (0) 12903 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/trait.Concat.html\n+-rw-r--r-- 0 root (0) root (0) 11981 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/trait.Join.html\n+-rw-r--r-- 0 root (0) root (0) 42740 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/slice/trait.SliceIndex.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/\n--rw-r--r-- 0 root (0) root (0) 5977 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_boxed_utf8_unchecked.html\n--rw-r--r-- 0 root (0) root (0) 5906 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_raw_parts.html\n--rw-r--r-- 0 root (0) root (0) 5944 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_raw_parts_mut.html\n--rw-r--r-- 0 root (0) root (0) 10249 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_utf8.html\n--rw-r--r-- 0 root (0) root (0) 7730 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_utf8_mut.html\n--rw-r--r-- 0 root (0) root (0) 6333 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_utf8_unchecked.html\n--rw-r--r-- 0 root (0) root (0) 6289 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_utf8_unchecked_mut.html\n--rw-r--r-- 0 root (0) root (0) 16363 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/index.html\n+-rw-r--r-- 0 root (0) root (0) 6031 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_boxed_utf8_unchecked.html\n+-rw-r--r-- 0 root (0) root (0) 6041 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_raw_parts.html\n+-rw-r--r-- 0 root (0) root (0) 6079 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_raw_parts_mut.html\n+-rw-r--r-- 0 root (0) root (0) 10492 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_utf8.html\n+-rw-r--r-- 0 root (0) root (0) 7838 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_utf8_mut.html\n+-rw-r--r-- 0 root (0) root (0) 6414 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_utf8_unchecked.html\n+-rw-r--r-- 0 root (0) root (0) 6370 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_utf8_unchecked_mut.html\n+-rw-r--r-- 0 root (0) root (0) 16930 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/\n--rw-r--r-- 0 root (0) root (0) 31510 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/enum.SearchStep.html\n--rw-r--r-- 0 root (0) root (0) 12952 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/index.html\n+-rw-r--r-- 0 root (0) root (0) 33694 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/enum.SearchStep.html\n+-rw-r--r-- 0 root (0) root (0) 13096 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/index.html\n -rw-r--r-- 0 root (0) root (0) 245 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/sidebar-items1.78.0.js\n--rw-r--r-- 0 root (0) root (0) 37503 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/struct.CharArrayRefSearcher.html\n--rw-r--r-- 0 root (0) root (0) 37046 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/struct.CharArraySearcher.html\n--rw-r--r-- 0 root (0) root (0) 39260 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/struct.CharPredicateSearcher.html\n--rw-r--r-- 0 root (0) root (0) 35542 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/struct.CharSearcher.html\n--rw-r--r-- 0 root (0) root (0) 36147 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/struct.CharSliceSearcher.html\n--rw-r--r-- 0 root (0) root (0) 35001 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/struct.StrSearcher.html\n--rw-r--r-- 0 root (0) root (0) 10669 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/trait.DoubleEndedSearcher.html\n--rw-r--r-- 0 root (0) root (0) 37349 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/trait.Pattern.html\n--rw-r--r-- 0 root (0) root (0) 16751 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/trait.ReverseSearcher.html\n--rw-r--r-- 0 root (0) root (0) 18216 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/trait.Searcher.html\n+-rw-r--r-- 0 root (0) root (0) 39975 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/struct.CharArrayRefSearcher.html\n+-rw-r--r-- 0 root (0) root (0) 39518 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/struct.CharArraySearcher.html\n+-rw-r--r-- 0 root (0) root (0) 42044 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/struct.CharPredicateSearcher.html\n+-rw-r--r-- 0 root (0) root (0) 37726 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/struct.CharSearcher.html\n+-rw-r--r-- 0 root (0) root (0) 38331 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/struct.CharSliceSearcher.html\n+-rw-r--r-- 0 root (0) root (0) 37161 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/struct.StrSearcher.html\n+-rw-r--r-- 0 root (0) root (0) 10981 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/trait.DoubleEndedSearcher.html\n+-rw-r--r-- 0 root (0) root (0) 38885 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/trait.Pattern.html\n+-rw-r--r-- 0 root (0) root (0) 17399 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/trait.ReverseSearcher.html\n+-rw-r--r-- 0 root (0) root (0) 18960 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/pattern/trait.Searcher.html\n -rw-r--r-- 0 root (0) root (0) 569 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/sidebar-items1.78.0.js\n--rw-r--r-- 0 root (0) root (0) 147283 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.Bytes.html\n--rw-r--r-- 0 root (0) root (0) 146113 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.CharIndices.html\n--rw-r--r-- 0 root (0) root (0) 143835 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.Chars.html\n--rw-r--r-- 0 root (0) root (0) 133871 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.EncodeUtf16.html\n--rw-r--r-- 0 root (0) root (0) 136712 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.EscapeDebug.html\n--rw-r--r-- 0 root (0) root (0) 136900 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.EscapeDefault.html\n--rw-r--r-- 0 root (0) root (0) 136900 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.EscapeUnicode.html\n--rw-r--r-- 0 root (0) root (0) 144352 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.Lines.html\n--rw-r--r-- 0 root (0) root (0) 141993 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.LinesAny.html\n--rw-r--r-- 0 root (0) root (0) 145941 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.MatchIndices.html\n--rw-r--r-- 0 root (0) root (0) 145895 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.Matches.html\n--rw-r--r-- 0 root (0) root (0) 34699 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.ParseBoolError.html\n--rw-r--r-- 0 root (0) root (0) 147320 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.RMatchIndices.html\n--rw-r--r-- 0 root (0) root (0) 147274 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.RMatches.html\n--rw-r--r-- 0 root (0) root (0) 147282 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.RSplit.html\n--rw-r--r-- 0 root (0) root (0) 138279 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.RSplitN.html\n--rw-r--r-- 0 root (0) root (0) 148118 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.RSplitTerminator.html\n--rw-r--r-- 0 root (0) root (0) 145896 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.Split.html\n--rw-r--r-- 0 root (0) root (0) 148781 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.SplitAsciiWhitespace.html\n--rw-r--r-- 0 root (0) root (0) 149921 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.SplitInclusive.html\n--rw-r--r-- 0 root (0) root (0) 136898 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.SplitN.html\n--rw-r--r-- 0 root (0) root (0) 146732 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.SplitTerminator.html\n--rw-r--r-- 0 root (0) root (0) 148333 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.SplitWhitespace.html\n--rw-r--r-- 0 root (0) root (0) 32784 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.Utf8Chunk.html\n--rw-r--r-- 0 root (0) root (0) 137229 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.Utf8Chunks.html\n--rw-r--r-- 0 root (0) root (0) 41929 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.Utf8Error.html\n--rw-r--r-- 0 root (0) root (0) 47370 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/trait.FromStr.html\n+-rw-r--r-- 0 root (0) root (0) 167560 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.Bytes.html\n+-rw-r--r-- 0 root (0) root (0) 165985 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.CharIndices.html\n+-rw-r--r-- 0 root (0) root (0) 163518 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.Chars.html\n+-rw-r--r-- 0 root (0) root (0) 151907 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.EncodeUtf16.html\n+-rw-r--r-- 0 root (0) root (0) 154856 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.EscapeDebug.html\n+-rw-r--r-- 0 root (0) root (0) 155044 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.EscapeDefault.html\n+-rw-r--r-- 0 root (0) root (0) 155044 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.EscapeUnicode.html\n+-rw-r--r-- 0 root (0) root (0) 164062 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.Lines.html\n+-rw-r--r-- 0 root (0) root (0) 161595 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.LinesAny.html\n+-rw-r--r-- 0 root (0) root (0) 165246 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.MatchIndices.html\n+-rw-r--r-- 0 root (0) root (0) 165092 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.Matches.html\n+-rw-r--r-- 0 root (0) root (0) 37534 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.ParseBoolError.html\n+-rw-r--r-- 0 root (0) root (0) 166625 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.RMatchIndices.html\n+-rw-r--r-- 0 root (0) root (0) 166471 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.RMatches.html\n+-rw-r--r-- 0 root (0) root (0) 166587 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.RSplit.html\n+-rw-r--r-- 0 root (0) root (0) 156396 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.RSplitN.html\n+-rw-r--r-- 0 root (0) root (0) 167423 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.RSplitTerminator.html\n+-rw-r--r-- 0 root (0) root (0) 165201 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.Split.html\n+-rw-r--r-- 0 root (0) root (0) 168491 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.SplitAsciiWhitespace.html\n+-rw-r--r-- 0 root (0) root (0) 169253 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.SplitInclusive.html\n+-rw-r--r-- 0 root (0) root (0) 155015 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.SplitN.html\n+-rw-r--r-- 0 root (0) root (0) 166037 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.SplitTerminator.html\n+-rw-r--r-- 0 root (0) root (0) 168043 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.SplitWhitespace.html\n+-rw-r--r-- 0 root (0) root (0) 35160 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.Utf8Chunk.html\n+-rw-r--r-- 0 root (0) root (0) 155238 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.Utf8Chunks.html\n+-rw-r--r-- 0 root (0) root (0) 45007 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/struct.Utf8Error.html\n+-rw-r--r-- 0 root (0) root (0) 50826 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/str/trait.FromStr.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/string/\n--rw-r--r-- 0 root (0) root (0) 9968 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/string/index.html\n+-rw-r--r-- 0 root (0) root (0) 9995 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/string/index.html\n -rw-r--r-- 0 root (0) root (0) 129 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/string/sidebar-items1.78.0.js\n--rw-r--r-- 0 root (0) root (0) 144454 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/string/struct.Drain.html\n--rw-r--r-- 0 root (0) root (0) 28200 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/string/struct.FromUtf16Error.html\n--rw-r--r-- 0 root (0) root (0) 42727 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/string/struct.FromUtf8Error.html\n--rw-r--r-- 0 root (0) root (0) 539972 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/string/struct.String.html\n--rw-r--r-- 0 root (0) root (0) 7862 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/string/trait.ToString.html\n--rw-r--r-- 0 root (0) root (0) 5396 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/string/type.ParseError.html\n+-rw-r--r-- 0 root (0) root (0) 163462 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/string/struct.Drain.html\n+-rw-r--r-- 0 root (0) root (0) 30090 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/string/struct.FromUtf16Error.html\n+-rw-r--r-- 0 root (0) root (0) 45346 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/string/struct.FromUtf8Error.html\n+-rw-r--r-- 0 root (0) root (0) 563489 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/string/struct.String.html\n+-rw-r--r-- 0 root (0) root (0) 7889 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/string/trait.ToString.html\n+-rw-r--r-- 0 root (0) root (0) 5450 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/string/type.ParseError.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/sync/\n--rw-r--r-- 0 root (0) root (0) 6028 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/sync/index.html\n+-rw-r--r-- 0 root (0) root (0) 6055 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/sync/index.html\n -rw-r--r-- 0 root (0) root (0) 49 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/sync/sidebar-items1.78.0.js\n--rw-r--r-- 0 root (0) root (0) 252380 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/sync/struct.Arc.html\n--rw-r--r-- 0 root (0) root (0) 65887 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/sync/struct.Weak.html\n+-rw-r--r-- 0 root (0) root (0) 262802 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/sync/struct.Arc.html\n+-rw-r--r-- 0 root (0) root (0) 69019 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/sync/struct.Weak.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/task/\n -rw-r--r-- 0 root (0) root (0) 5698 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/task/index.html\n -rw-r--r-- 0 root (0) root (0) 54 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/task/sidebar-items1.78.0.js\n--rw-r--r-- 0 root (0) root (0) 14741 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/task/trait.LocalWake.html\n--rw-r--r-- 0 root (0) root (0) 13127 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/task/trait.Wake.html\n+-rw-r--r-- 0 root (0) root (0) 14768 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/task/trait.LocalWake.html\n+-rw-r--r-- 0 root (0) root (0) 13289 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/task/trait.Wake.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/vec/\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/vec/drain/\n -rw-r--r-- 0 root (0) root (0) 416 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/vec/drain/struct.Drain.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/vec/extract_if/\n -rw-r--r-- 0 root (0) root (0) 432 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/vec/extract_if/struct.ExtractIf.html\n--rw-r--r-- 0 root (0) root (0) 10027 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/vec/index.html\n+-rw-r--r-- 0 root (0) root (0) 10081 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/vec/index.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/vec/into_iter/\n -rw-r--r-- 0 root (0) root (0) 428 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/vec/into_iter/struct.IntoIter.html\n -rw-r--r-- 0 root (0) root (0) 82 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/vec/sidebar-items1.78.0.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/vec/splice/\n -rw-r--r-- 0 root (0) root (0) 420 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/vec/splice/struct.Splice.html\n--rw-r--r-- 0 root (0) root (0) 154921 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/vec/struct.Drain.html\n--rw-r--r-- 0 root (0) root (0) 134714 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/vec/struct.ExtractIf.html\n--rw-r--r-- 0 root (0) root (0) 158769 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/vec/struct.IntoIter.html\n--rw-r--r-- 0 root (0) root (0) 150235 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/vec/struct.Splice.html\n--rw-r--r-- 0 root (0) root (0) 786200 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/vec/struct.Vec.html\n+-rw-r--r-- 0 root (0) root (0) 174577 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/vec/struct.Drain.html\n+-rw-r--r-- 0 root (0) root (0) 152615 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/vec/struct.ExtractIf.html\n+-rw-r--r-- 0 root (0) root (0) 178749 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/vec/struct.IntoIter.html\n+-rw-r--r-- 0 root (0) root (0) 170377 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/vec/struct.Splice.html\n+-rw-r--r-- 0 root (0) root (0) 819950 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/alloc/vec/struct.Vec.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/book/\n -rw-r--r-- 0 root (0) root (0) 72 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/book/.nojekyll\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/book/2018-edition/\n -rw-r--r-- 0 root (0) root (0) 72 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/book/2018-edition/.nojekyll\n -rw-r--r-- 0 root (0) root (0) 25761 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/book/2018-edition/appendix-00.html\n -rw-r--r-- 0 root (0) root (0) 25767 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/book/2018-edition/appendix-01-keywords.html\n -rw-r--r-- 0 root (0) root (0) 25853 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/book/2018-edition/appendix-02-operators.html\n@@ -35628,34 +35628,34 @@\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/alloc/global/\n -rw-r--r-- 0 root (0) root (0) 413 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/alloc/global/trait.GlobalAlloc.js\n -rw-r--r-- 0 root (0) root (0) 666 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/alloc/trait.Allocator.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/any/\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/any/trait.Any.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/async_iter/\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/async_iter/async_iter/\n--rw-r--r-- 0 root (0) root (0) 860 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/async_iter/async_iter/trait.AsyncIterator.js\n+-rw-r--r-- 0 root (0) root (0) 992 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/async_iter/async_iter/trait.AsyncIterator.js\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/async_iter/async_iter/trait.IntoAsyncIterator.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/borrow/\n--rw-r--r-- 0 root (0) root (0) 3859 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/borrow/trait.Borrow.js\n--rw-r--r-- 0 root (0) root (0) 1436 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/borrow/trait.BorrowMut.js\n+-rw-r--r-- 0 root (0) root (0) 4090 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/borrow/trait.Borrow.js\n+-rw-r--r-- 0 root (0) root (0) 1535 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/borrow/trait.BorrowMut.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/clone/\n--rw-r--r-- 0 root (0) root (0) 43470 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/clone/trait.Clone.js\n+-rw-r--r-- 0 root (0) root (0) 46308 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/clone/trait.Clone.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/cmp/\n--rw-r--r-- 0 root (0) root (0) 18893 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/cmp/trait.Eq.js\n--rw-r--r-- 0 root (0) root (0) 7858 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/cmp/trait.Ord.js\n--rw-r--r-- 0 root (0) root (0) 58796 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/cmp/trait.PartialEq.js\n--rw-r--r-- 0 root (0) root (0) 28369 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/cmp/trait.PartialOrd.js\n+-rw-r--r-- 0 root (0) root (0) 20015 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/cmp/trait.Eq.js\n+-rw-r--r-- 0 root (0) root (0) 8749 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/cmp/trait.Ord.js\n+-rw-r--r-- 0 root (0) root (0) 62723 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/cmp/trait.PartialEq.js\n+-rw-r--r-- 0 root (0) root (0) 29260 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/cmp/trait.PartialOrd.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/convert/\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/convert/num/\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/convert/num/trait.FloatToInt.js\n--rw-r--r-- 0 root (0) root (0) 1869 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/convert/trait.AsMut.js\n--rw-r--r-- 0 root (0) root (0) 11666 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/convert/trait.AsRef.js\n--rw-r--r-- 0 root (0) root (0) 81117 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/convert/trait.From.js\n+-rw-r--r-- 0 root (0) root (0) 2100 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/convert/trait.AsMut.js\n+-rw-r--r-- 0 root (0) root (0) 12491 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/convert/trait.AsRef.js\n+-rw-r--r-- 0 root (0) root (0) 89301 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/convert/trait.From.js\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/convert/trait.Into.js\n--rw-r--r-- 0 root (0) root (0) 4158 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/convert/trait.TryFrom.js\n+-rw-r--r-- 0 root (0) root (0) 4752 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/convert/trait.TryFrom.js\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/convert/trait.TryInto.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/core_simd/\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/core_simd/cast/\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/core_simd/cast/trait.SimdCast.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/core_simd/lane_count/\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/core_simd/lane_count/trait.SupportedLaneCount.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/core_simd/masks/\n@@ -35680,127 +35680,127 @@\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/core_simd/simd/ptr/mut_ptr/\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/core_simd/simd/ptr/mut_ptr/trait.SimdMutPtr.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/core_simd/to_bytes/\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/core_simd/to_bytes/trait.ToBytes.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/core_simd/vector/\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/core_simd/vector/trait.SimdElement.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/default/\n--rw-r--r-- 0 root (0) root (0) 19401 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/default/trait.Default.js\n+-rw-r--r-- 0 root (0) root (0) 21117 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/default/trait.Default.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/error/\n--rw-r--r-- 0 root (0) root (0) 9379 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/error/trait.Error.js\n+-rw-r--r-- 0 root (0) root (0) 9940 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/error/trait.Error.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/fmt/\n -rw-r--r-- 0 root (0) root (0) 202 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/fmt/trait.Binary.js\n--rw-r--r-- 0 root (0) root (0) 94509 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/fmt/trait.Debug.js\n--rw-r--r-- 0 root (0) root (0) 18060 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/fmt/trait.Display.js\n+-rw-r--r-- 0 root (0) root (0) 95862 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/fmt/trait.Debug.js\n+-rw-r--r-- 0 root (0) root (0) 18291 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/fmt/trait.Display.js\n -rw-r--r-- 0 root (0) root (0) 202 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/fmt/trait.LowerExp.js\n -rw-r--r-- 0 root (0) root (0) 202 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/fmt/trait.LowerHex.js\n -rw-r--r-- 0 root (0) root (0) 202 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/fmt/trait.Octal.js\n--rw-r--r-- 0 root (0) root (0) 1579 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/fmt/trait.Pointer.js\n+-rw-r--r-- 0 root (0) root (0) 1678 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/fmt/trait.Pointer.js\n -rw-r--r-- 0 root (0) root (0) 202 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/fmt/trait.UpperExp.js\n -rw-r--r-- 0 root (0) root (0) 202 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/fmt/trait.UpperHex.js\n -rw-r--r-- 0 root (0) root (0) 638 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/fmt/trait.Write.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/future/\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/future/future/\n--rw-r--r-- 0 root (0) root (0) 908 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/future/future/trait.Future.js\n+-rw-r--r-- 0 root (0) root (0) 1040 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/future/future/trait.Future.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/future/into_future/\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/future/into_future/trait.IntoFuture.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/hash/\n -rw-r--r-- 0 root (0) root (0) 468 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/hash/trait.BuildHasher.js\n--rw-r--r-- 0 root (0) root (0) 9528 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/hash/trait.Hash.js\n--rw-r--r-- 0 root (0) root (0) 1034 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/hash/trait.Hasher.js\n+-rw-r--r-- 0 root (0) root (0) 10419 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/hash/trait.Hash.js\n+-rw-r--r-- 0 root (0) root (0) 1133 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/hash/trait.Hasher.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/range/\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/range/trait.Step.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/accum/\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/accum/trait.Product.js\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/accum/trait.Sum.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/collect/\n--rw-r--r-- 0 root (0) root (0) 15580 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/collect/trait.Extend.js\n--rw-r--r-- 0 root (0) root (0) 11879 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/collect/trait.FromIterator.js\n--rw-r--r-- 0 root (0) root (0) 11178 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/collect/trait.IntoIterator.js\n+-rw-r--r-- 0 root (0) root (0) 17164 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/collect/trait.Extend.js\n+-rw-r--r-- 0 root (0) root (0) 13133 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/collect/trait.FromIterator.js\n+-rw-r--r-- 0 root (0) root (0) 11871 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/collect/trait.IntoIterator.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/double_ended/\n--rw-r--r-- 0 root (0) root (0) 13707 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/double_ended/trait.DoubleEndedIterator.js\n+-rw-r--r-- 0 root (0) root (0) 14862 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/double_ended/trait.DoubleEndedIterator.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/exact_size/\n--rw-r--r-- 0 root (0) root (0) 16874 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/exact_size/trait.ExactSizeIterator.js\n+-rw-r--r-- 0 root (0) root (0) 18029 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/exact_size/trait.ExactSizeIterator.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/iterator/\n--rw-r--r-- 0 root (0) root (0) 31815 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/iterator/trait.Iterator.js\n+-rw-r--r-- 0 root (0) root (0) 34059 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/iterator/trait.Iterator.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/marker/\n--rw-r--r-- 0 root (0) root (0) 25103 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/marker/trait.FusedIterator.js\n--rw-r--r-- 0 root (0) root (0) 3209 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/marker/trait.TrustedLen.js\n+-rw-r--r-- 0 root (0) root (0) 26984 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/marker/trait.FusedIterator.js\n+-rw-r--r-- 0 root (0) root (0) 3506 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/marker/trait.TrustedLen.js\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/marker/trait.TrustedStep.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.ConstParamTy.js\n--rw-r--r-- 0 root (0) root (0) 11445 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.Copy.js\n--rw-r--r-- 0 root (0) root (0) 96016 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.Freeze.js\n--rw-r--r-- 0 root (0) root (0) 111359 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.Send.js\n+-rw-r--r-- 0 root (0) root (0) 11478 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.Copy.js\n+-rw-r--r-- 0 root (0) root (0) 99778 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.Freeze.js\n+-rw-r--r-- 0 root (0) root (0) 117959 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.Send.js\n -rw-r--r-- 0 root (0) root (0) 666 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.Sized.js\n--rw-r--r-- 0 root (0) root (0) 15006 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.StructuralPartialEq.js\n--rw-r--r-- 0 root (0) root (0) 112100 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.Sync.js\n--rw-r--r-- 0 root (0) root (0) 98155 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.Unpin.js\n+-rw-r--r-- 0 root (0) root (0) 15303 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.StructuralPartialEq.js\n+-rw-r--r-- 0 root (0) root (0) 118700 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.Sync.js\n+-rw-r--r-- 0 root (0) root (0) 102115 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.Unpin.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/num/\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/num/nonzero/\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/num/nonzero/trait.ZeroablePrimitive.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/arith/\n--rw-r--r-- 0 root (0) root (0) 1836 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/arith/trait.Add.js\n--rw-r--r-- 0 root (0) root (0) 1926 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/arith/trait.AddAssign.js\n+-rw-r--r-- 0 root (0) root (0) 2067 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/arith/trait.Add.js\n+-rw-r--r-- 0 root (0) root (0) 2157 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/arith/trait.AddAssign.js\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/arith/trait.Div.js\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/arith/trait.DivAssign.js\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/arith/trait.Mul.js\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/arith/trait.MulAssign.js\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/arith/trait.Neg.js\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/arith/trait.Rem.js\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/arith/trait.RemAssign.js\n--rw-r--r-- 0 root (0) root (0) 2937 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/arith/trait.Sub.js\n+-rw-r--r-- 0 root (0) root (0) 3069 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/arith/trait.Sub.js\n -rw-r--r-- 0 root (0) root (0) 882 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/arith/trait.SubAssign.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/async_function/\n--rw-r--r-- 0 root (0) root (0) 963 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/async_function/trait.AsyncFn.js\n--rw-r--r-- 0 root (0) root (0) 981 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/async_function/trait.AsyncFnMut.js\n--rw-r--r-- 0 root (0) root (0) 987 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/async_function/trait.AsyncFnOnce.js\n+-rw-r--r-- 0 root (0) root (0) 1095 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/async_function/trait.AsyncFn.js\n+-rw-r--r-- 0 root (0) root (0) 1113 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/async_function/trait.AsyncFnMut.js\n+-rw-r--r-- 0 root (0) root (0) 1119 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/async_function/trait.AsyncFnOnce.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/bit/\n--rw-r--r-- 0 root (0) root (0) 2086 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/bit/trait.BitAnd.js\n+-rw-r--r-- 0 root (0) root (0) 2218 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/bit/trait.BitAnd.js\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/bit/trait.BitAndAssign.js\n--rw-r--r-- 0 root (0) root (0) 2080 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/bit/trait.BitOr.js\n+-rw-r--r-- 0 root (0) root (0) 2212 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/bit/trait.BitOr.js\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/bit/trait.BitOrAssign.js\n--rw-r--r-- 0 root (0) root (0) 2086 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/bit/trait.BitXor.js\n+-rw-r--r-- 0 root (0) root (0) 2218 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/bit/trait.BitXor.js\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/bit/trait.BitXorAssign.js\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/bit/trait.Not.js\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/bit/trait.Shl.js\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/bit/trait.ShlAssign.js\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/bit/trait.Shr.js\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/bit/trait.ShrAssign.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/coroutine/\n--rw-r--r-- 0 root (0) root (0) 1739 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/coroutine/trait.Coroutine.js\n+-rw-r--r-- 0 root (0) root (0) 2003 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/coroutine/trait.Coroutine.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/deref/\n--rw-r--r-- 0 root (0) root (0) 8124 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/deref/trait.Deref.js\n--rw-r--r-- 0 root (0) root (0) 4626 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/deref/trait.DerefMut.js\n+-rw-r--r-- 0 root (0) root (0) 8652 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/deref/trait.Deref.js\n+-rw-r--r-- 0 root (0) root (0) 4923 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/deref/trait.DerefMut.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/drop/\n--rw-r--r-- 0 root (0) root (0) 13782 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/drop/trait.Drop.js\n+-rw-r--r-- 0 root (0) root (0) 14937 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/drop/trait.Drop.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/function/\n--rw-r--r-- 0 root (0) root (0) 909 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/function/trait.Fn.js\n--rw-r--r-- 0 root (0) root (0) 927 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/function/trait.FnMut.js\n--rw-r--r-- 0 root (0) root (0) 933 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/function/trait.FnOnce.js\n+-rw-r--r-- 0 root (0) root (0) 1041 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/function/trait.Fn.js\n+-rw-r--r-- 0 root (0) root (0) 1059 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/function/trait.FnMut.js\n+-rw-r--r-- 0 root (0) root (0) 1065 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/function/trait.FnOnce.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/index/\n--rw-r--r-- 0 root (0) root (0) 4602 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/index/trait.Index.js\n--rw-r--r-- 0 root (0) root (0) 2099 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/index/trait.IndexMut.js\n+-rw-r--r-- 0 root (0) root (0) 5064 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/index/trait.Index.js\n+-rw-r--r-- 0 root (0) root (0) 2297 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/index/trait.IndexMut.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/range/\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/range/trait.OneSidedRange.js\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/range/trait.RangeBounds.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/try_trait/\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/try_trait/trait.FromResidual.js\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/try_trait/trait.Residual.js\n -rw-r--r-- 0 root (0) root (0) 190 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/try_trait/trait.Try.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/unsize/\n--rw-r--r-- 0 root (0) root (0) 4365 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/unsize/trait.CoerceUnsized.js\n--rw-r--r-- 0 root (0) root (0) 3880 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/unsize/trait.DispatchFromDyn.js\n+-rw-r--r-- 0 root (0) root (0) 5025 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/unsize/trait.CoerceUnsized.js\n+-rw-r--r-- 0 root (0) root (0) 4540 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/unsize/trait.DispatchFromDyn.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/panic/\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/panic/unwind_safe/\n--rw-r--r-- 0 root (0) root (0) 130297 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js\n--rw-r--r-- 0 root (0) root (0) 117548 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js\n+-rw-r--r-- 0 root (0) root (0) 136963 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js\n+-rw-r--r-- 0 root (0) root (0) 122894 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/slice/\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/slice/index/\n -rw-r--r-- 0 root (0) root (0) 202 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/slice/index/trait.SliceIndex.js\n -rw-r--r-- 0 root (0) root (0) 180 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/slice/trait.SlicePattern.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/str/\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/str/pattern/\n -rw-r--r-- 0 root (0) root (0) 202 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/core/str/pattern/trait.DoubleEndedSearcher.js\n@@ -35913,20 +35913,20 @@\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/test/\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/test/stats/\n -rw-r--r-- 0 root (0) root (0) 180 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/trait.impl/test/stats/trait.Stats.js\n -rw-r--r-- 0 root (0) root (0) 1484 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/tutorial.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/alloc/\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/alloc/alloc/\n--rw-r--r-- 0 root (0) root (0) 13380 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/alloc/alloc/struct.LayoutError.js\n+-rw-r--r-- 0 root (0) root (0) 14997 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/alloc/alloc/struct.LayoutError.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/alloc/\n -rw-r--r-- 0 root (0) root (0) 13065 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/alloc/struct.LayoutError.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/convert/\n--rw-r--r-- 0 root (0) root (0) 26702 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/convert/enum.Infallible.js\n+-rw-r--r-- 0 root (0) root (0) 31124 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/convert/enum.Infallible.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/num/\n -rw-r--r-- 0 root (0) root (0) 463446 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/num/struct.NonZero.js\n -rw-r--r-- 0 root (0) root (0) 154369 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/primitive.f32.js\n -rw-r--r-- 0 root (0) root (0) 160207 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/primitive.f64.js\n -rw-r--r-- 0 root (0) root (0) 536785 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/primitive.i16.js\n -rw-r--r-- 0 root (0) root (0) 565245 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/primitive.i32.js\n -rw-r--r-- 0 root (0) root (0) 540023 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/primitive.i64.js\n@@ -35934,15 +35934,15 @@\n -rw-r--r-- 0 root (0) root (0) 547788 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/primitive.isize.js\n -rw-r--r-- 0 root (0) root (0) 525066 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/primitive.u16.js\n -rw-r--r-- 0 root (0) root (0) 524335 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/primitive.u32.js\n -rw-r--r-- 0 root (0) root (0) 525906 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/primitive.u64.js\n -rw-r--r-- 0 root (0) root (0) 568295 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/primitive.u8.js\n -rw-r--r-- 0 root (0) root (0) 526632 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/primitive.usize.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/result/\n--rw-r--r-- 0 root (0) root (0) 280119 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/result/enum.Result.js\n+-rw-r--r-- 0 root (0) root (0) 294012 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/result/enum.Result.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/simd/\n -rw-r--r-- 0 root (0) root (0) 214279 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/simd/struct.Mask.js\n -rw-r--r-- 0 root (0) root (0) 1733791 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/core/simd/struct.Simd.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/std/\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/std/alloc/\n -rw-r--r-- 0 root (0) root (0) 13252 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/std/alloc/struct.LayoutError.js\n drwxr-xr-x 0 root (0) root (0) 0 2024-08-28 14:44:23.000000 ./usr/share/doc/rust-web-doc/html/type.impl/std/convert/\n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/alloc/fn.alloc.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/alloc/fn.alloc.html", "unified_diff": "@@ -1,9 +1,9 @@\n alloc in alloc::alloc - Rust
\n-

Function alloc::alloc::alloc

1.28.0 \u00b7 source \u00b7
pub unsafe fn alloc(layout: Layout) -> *mut u8
Expand description

Allocate memory with the global allocator.

\n+

Function alloc::alloc::alloc

1.28.0 \u00b7 source \u00b7
pub unsafe fn alloc(layout: Layout) -> *mut u8
Expand description

Allocate memory with the global allocator.

\n

This function forwards calls to the GlobalAlloc::alloc method\n of the allocator registered with the #[global_allocator] attribute\n if there is one, or the std crate\u2019s default.

\n

This function is expected to be deprecated in favor of the alloc method\n of the Global type when it and the Allocator trait become stable.

\n

\u00a7Safety

\n

See GlobalAlloc::alloc.

\n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/alloc/fn.alloc_zeroed.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/alloc/fn.alloc_zeroed.html", "unified_diff": "@@ -1,9 +1,9 @@\n alloc_zeroed in alloc::alloc - Rust
\n-

Function alloc::alloc::alloc_zeroed

1.28.0 \u00b7 source \u00b7
pub unsafe fn alloc_zeroed(layout: Layout) -> *mut u8
Expand description

Allocate zero-initialized memory with the global allocator.

\n+

Function alloc::alloc::alloc_zeroed

1.28.0 \u00b7 source \u00b7
pub unsafe fn alloc_zeroed(layout: Layout) -> *mut u8
Expand description

Allocate zero-initialized memory with the global allocator.

\n

This function forwards calls to the GlobalAlloc::alloc_zeroed method\n of the allocator registered with the #[global_allocator] attribute\n if there is one, or the std crate\u2019s default.

\n

This function is expected to be deprecated in favor of the alloc_zeroed method\n of the Global type when it and the Allocator trait become stable.

\n

\u00a7Safety

\n

See GlobalAlloc::alloc_zeroed.

\n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/alloc/fn.dealloc.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/alloc/fn.dealloc.html", "unified_diff": "@@ -1,9 +1,9 @@\n dealloc in alloc::alloc - Rust
\n-

Function alloc::alloc::dealloc

1.28.0 \u00b7 source \u00b7
pub unsafe fn dealloc(ptr: *mut u8, layout: Layout)
Expand description

Deallocate memory with the global allocator.

\n+

Function alloc::alloc::dealloc

1.28.0 \u00b7 source \u00b7
pub unsafe fn dealloc(ptr: *mut u8, layout: Layout)
Expand description

Deallocate memory with the global allocator.

\n

This function forwards calls to the GlobalAlloc::dealloc method\n of the allocator registered with the #[global_allocator] attribute\n if there is one, or the std crate\u2019s default.

\n

This function is expected to be deprecated in favor of the dealloc method\n of the Global type when it and the Allocator trait become stable.

\n

\u00a7Safety

\n

See GlobalAlloc::dealloc.

\n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/alloc/fn.handle_alloc_error.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/alloc/fn.handle_alloc_error.html", "unified_diff": "@@ -1,23 +1,23 @@\n handle_alloc_error in alloc::alloc - Rust
\n-

Function alloc::alloc::handle_alloc_error

1.28.0 (const: unstable) \u00b7 source \u00b7
pub fn handle_alloc_error(layout: Layout) -> !
Expand description

Signal a memory allocation error.

\n+

Function alloc::alloc::handle_alloc_error

1.28.0 (const: unstable) \u00b7 source \u00b7
pub fn handle_alloc_error(layout: Layout) -> !
Expand description

Signal a memory allocation error.

\n

Callers of memory allocation APIs wishing to cease execution\n in response to an allocation error are encouraged to call this function,\n-rather than directly invoking panic! or similar.

\n+rather than directly invoking panic! or similar.

\n

This function is guaranteed to diverge (not return normally with a value), but depending on\n global configuration, it may either panic (resulting in unwinding or aborting as per\n configuration for all panics), or abort the process (with no unwinding).

\n

The default behavior is:

\n
    \n
  • \n

    If the binary links against std (typically the case), then\n print a message to standard error and abort the process.\n This behavior can be replaced with set_alloc_error_hook and take_alloc_error_hook.\n Future versions of Rust may panic by default instead.

    \n
  • \n
  • \n

    If the binary does not link against std (all of its crates are marked\n-#![no_std]), then call panic! with a message.\n+#![no_std]), then call panic! with a message.\n The panic handler applies as to any panic.

    \n
  • \n
\n
\n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/alloc/fn.realloc.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/alloc/fn.realloc.html", "unified_diff": "@@ -1,9 +1,9 @@\n realloc in alloc::alloc - Rust
\n-

Function alloc::alloc::realloc

1.28.0 \u00b7 source \u00b7
pub unsafe fn realloc(ptr: *mut u8, layout: Layout, new_size: usize) -> *mut u8
Expand description

Reallocate memory with the global allocator.

\n+

Function alloc::alloc::realloc

1.28.0 \u00b7 source \u00b7
pub unsafe fn realloc(ptr: *mut u8, layout: Layout, new_size: usize) -> *mut u8
Expand description

Reallocate memory with the global allocator.

\n

This function forwards calls to the GlobalAlloc::realloc method\n of the allocator registered with the #[global_allocator] attribute\n if there is one, or the std crate\u2019s default.

\n

This function is expected to be deprecated in favor of the realloc method\n of the Global type when it and the Allocator trait become stable.

\n

\u00a7Safety

\n

See GlobalAlloc::realloc.

\n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/alloc/struct.AllocError.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/alloc/struct.AllocError.html", "unified_diff": "@@ -1,20 +1,20 @@\n AllocError in alloc::alloc - Rust
\n-

Struct alloc::alloc::AllocError

source \u00b7
pub struct AllocError;
\ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)
Expand description

The AllocError error indicates an allocation failure\n+

Struct alloc::alloc::AllocError

source \u00b7
pub struct AllocError;
\ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)
Expand description

The AllocError error indicates an allocation failure\n that may be due to resource exhaustion or to\n something wrong when combining the given input arguments with this\n allocator.

\n-

Trait Implementations\u00a7

source\u00a7

impl Clone for AllocError

source\u00a7

fn clone(&self) -> AllocError

Returns a copy of the value. Read more
1.0.0 \u00b7 source\u00a7

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source\u00a7

impl Debug for AllocError

source\u00a7

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source\u00a7

impl Display for AllocError

source\u00a7

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source\u00a7

impl Error for AllocError

1.30.0 \u00b7 source\u00a7

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 \u00b7 source\u00a7

fn description(&self) -> &str

\ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
1.0.0 \u00b7 source\u00a7

fn cause(&self) -> Option<&dyn Error>

\ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
source\u00a7

fn provide<'a>(&'a self, request: &mut Request<'a>)

\ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
Provides type based access to context intended for error reports. Read more
source\u00a7

impl PartialEq for AllocError

source\u00a7

fn eq(&self, other: &AllocError) -> bool

This method tests for self and other values to be equal, and is used\n-by ==.
1.0.0 \u00b7 source\u00a7

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
source\u00a7

impl Copy for AllocError

source\u00a7

impl Eq for AllocError

source\u00a7

impl StructuralPartialEq for AllocError

Auto Trait Implementations\u00a7

Blanket Implementations\u00a7

source\u00a7

impl<T> Any for T
where\n- T: 'static + ?Sized,

source\u00a7

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source\u00a7

impl<T> Borrow<T> for T
where\n- T: ?Sized,

source\u00a7

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source\u00a7

impl<T> BorrowMut<T> for T
where\n- T: ?Sized,

source\u00a7

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source\u00a7

impl<T> From<T> for T

source\u00a7

fn from(t: T) -> T

Returns the argument unchanged.

\n-
source\u00a7

impl<T, U> Into<U> for T
where\n- U: From<T>,

source\u00a7

fn into(self) -> U

Calls U::from(self).

\n+

Trait Implementations\u00a7

source\u00a7

impl Clone for AllocError

source\u00a7

fn clone(&self) -> AllocError

Returns a copy of the value. Read more
1.0.0 \u00b7 source\u00a7

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source\u00a7

impl Debug for AllocError

source\u00a7

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source\u00a7

impl Display for AllocError

source\u00a7

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source\u00a7

impl Error for AllocError

1.30.0 \u00b7 source\u00a7

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 \u00b7 source\u00a7

fn description(&self) -> &str

\ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
1.0.0 \u00b7 source\u00a7

fn cause(&self) -> Option<&dyn Error>

\ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
source\u00a7

fn provide<'a>(&'a self, request: &mut Request<'a>)

\ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
Provides type based access to context intended for error reports. Read more
source\u00a7

impl PartialEq for AllocError

source\u00a7

fn eq(&self, other: &AllocError) -> bool

This method tests for self and other values to be equal, and is used\n+by ==.
1.0.0 \u00b7 source\u00a7

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
source\u00a7

impl Copy for AllocError

source\u00a7

impl Eq for AllocError

source\u00a7

impl StructuralPartialEq for AllocError

Auto Trait Implementations\u00a7

Blanket Implementations\u00a7

source\u00a7

impl<T> Any for T
where\n+ T: 'static + ?Sized,

source\u00a7

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source\u00a7

impl<T> Borrow<T> for T
where\n+ T: ?Sized,

source\u00a7

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source\u00a7

impl<T> BorrowMut<T> for T
where\n+ T: ?Sized,

source\u00a7

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source\u00a7

impl<T> From<T> for T

source\u00a7

fn from(t: T) -> T

Returns the argument unchanged.

\n+
source\u00a7

impl<T, U> Into<U> for T
where\n+ U: From<T>,

source\u00a7

fn into(self) -> U

Calls U::from(self).

\n

That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

\n+From<T> for U chooses to do.

\n
source\u00a7

impl<T> ToOwned for T
where\n- T: Clone,

\u00a7

type Owned = T

The resulting type after obtaining ownership.
source\u00a7

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source\u00a7

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source\u00a7

impl<T> ToString for T
where\n- T: Display + ?Sized,

source\u00a7

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source\u00a7

impl<T, U> TryFrom<U> for T
where\n- U: Into<T>,

\u00a7

type Error = Infallible

The type returned in the event of a conversion error.
source\u00a7

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source\u00a7

impl<T, U> TryInto<U> for T
where\n- U: TryFrom<T>,

\u00a7

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source\u00a7

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\n+ T: Clone,
\u00a7

type Owned = T

The resulting type after obtaining ownership.
source\u00a7

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source\u00a7

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source\u00a7

impl<T> ToString for T
where\n+ T: Display + ?Sized,

source\u00a7

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source\u00a7

impl<T, U> TryFrom<U> for T
where\n+ U: Into<T>,

\u00a7

type Error = Infallible

The type returned in the event of a conversion error.
source\u00a7

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source\u00a7

impl<T, U> TryInto<U> for T
where\n+ U: TryFrom<T>,

\u00a7

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source\u00a7

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/alloc/struct.Global.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/alloc/struct.Global.html", "unified_diff": "@@ -1,36 +1,36 @@\n Global in alloc::alloc - Rust
\n

Struct alloc::alloc::Global

source \u00b7
pub struct Global;
\ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)
Expand description

The global memory allocator.

\n

This type implements the Allocator trait by forwarding calls\n to the allocator registered with the #[global_allocator] attribute\n if there is one, or the std crate\u2019s default.

\n

Note: while this type is unstable, the functionality it provides can be\n accessed through the free functions in alloc.

\n-

Trait Implementations\u00a7

source\u00a7

impl Allocator for Global

source\u00a7

fn allocate(&self, layout: Layout) -> Result<NonNull<[u8]>, AllocError>

\ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)
Attempts to allocate a block of memory. Read more
source\u00a7

fn allocate_zeroed(&self, layout: Layout) -> Result<NonNull<[u8]>, AllocError>

\ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)
Behaves like allocate, but also ensures that the returned memory is zero-initialized. Read more
source\u00a7

unsafe fn deallocate(&self, ptr: NonNull<u8>, layout: Layout)

\ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)
Deallocates the memory referenced by ptr. Read more
source\u00a7

unsafe fn grow(\n+

Trait Implementations\u00a7

source\u00a7

impl Allocator for Global

source\u00a7

fn allocate(&self, layout: Layout) -> Result<NonNull<[u8]>, AllocError>

\ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)
Attempts to allocate a block of memory. Read more
source\u00a7

fn allocate_zeroed(&self, layout: Layout) -> Result<NonNull<[u8]>, AllocError>

\ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)
Behaves like allocate, but also ensures that the returned memory is zero-initialized. Read more
source\u00a7

unsafe fn deallocate(&self, ptr: NonNull<u8>, layout: Layout)

\ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)
Deallocates the memory referenced by ptr. Read more
source\u00a7

unsafe fn grow(\n &self,\n- ptr: NonNull<u8>,\n+ ptr: NonNull<u8>,\n old_layout: Layout,\n new_layout: Layout\n-) -> Result<NonNull<[u8]>, AllocError>

\ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)
Attempts to extend the memory block. Read more
source\u00a7

unsafe fn grow_zeroed(\n+) -> Result<NonNull<[u8]>, AllocError>

\ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)
Attempts to extend the memory block. Read more
source\u00a7

unsafe fn grow_zeroed(\n &self,\n- ptr: NonNull<u8>,\n+ ptr: NonNull<u8>,\n old_layout: Layout,\n new_layout: Layout\n-) -> Result<NonNull<[u8]>, AllocError>

\ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)
Behaves like grow, but also ensures that the new contents are set to zero before being\n+) -> Result<NonNull<[u8]>, AllocError>
\ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)
Behaves like grow, but also ensures that the new contents are set to zero before being\n returned. Read more
source\u00a7

unsafe fn shrink(\n &self,\n- ptr: NonNull<u8>,\n+ ptr: NonNull<u8>,\n old_layout: Layout,\n new_layout: Layout\n-) -> Result<NonNull<[u8]>, AllocError>

\ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)
Attempts to shrink the memory block. Read more
source\u00a7

fn by_ref(&self) -> &Self
where\n- Self: Sized,

\ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)
Creates a \u201cby reference\u201d adapter for this instance of Allocator. Read more
source\u00a7

impl Clone for Global

source\u00a7

fn clone(&self) -> Global

Returns a copy of the value. Read more
1.0.0 \u00b7 source\u00a7

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source\u00a7

impl Debug for Global

source\u00a7

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source\u00a7

impl Default for Global

source\u00a7

fn default() -> Global

Returns the \u201cdefault value\u201d for a type. Read more
source\u00a7

impl Copy for Global

source\u00a7

impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Box<U>> for Box<T, Global>

Auto Trait Implementations\u00a7

Blanket Implementations\u00a7

source\u00a7

impl<T> Any for T
where\n- T: 'static + ?Sized,

source\u00a7

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source\u00a7

impl<T> Borrow<T> for T
where\n- T: ?Sized,

source\u00a7

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source\u00a7

impl<T> BorrowMut<T> for T
where\n- T: ?Sized,

source\u00a7

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source\u00a7

impl<T> From<T> for T

source\u00a7

fn from(t: T) -> T

Returns the argument unchanged.

\n-
source\u00a7

impl<T, U> Into<U> for T
where\n- U: From<T>,

source\u00a7

fn into(self) -> U

Calls U::from(self).

\n+) -> Result<NonNull<[u8]>, AllocError>
\ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)
Attempts to shrink the memory block. Read more
source\u00a7

fn by_ref(&self) -> &Self
where\n+ Self: Sized,

\ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)
Creates a \u201cby reference\u201d adapter for this instance of Allocator. Read more
source\u00a7

impl Clone for Global

source\u00a7

fn clone(&self) -> Global

Returns a copy of the value. Read more
1.0.0 \u00b7 source\u00a7

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source\u00a7

impl Debug for Global

source\u00a7

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source\u00a7

impl Default for Global

source\u00a7

fn default() -> Global

Returns the \u201cdefault value\u201d for a type. Read more
source\u00a7

impl Copy for Global

source\u00a7

impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Box<U>> for Box<T, Global>

Auto Trait Implementations\u00a7

Blanket Implementations\u00a7

source\u00a7

impl<T> Any for T
where\n+ T: 'static + ?Sized,

source\u00a7

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source\u00a7

impl<T> Borrow<T> for T
where\n+ T: ?Sized,

source\u00a7

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source\u00a7

impl<T> BorrowMut<T> for T
where\n+ T: ?Sized,

source\u00a7

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source\u00a7

impl<T> From<T> for T

source\u00a7

fn from(t: T) -> T

Returns the argument unchanged.

\n+
source\u00a7

impl<T, U> Into<U> for T
where\n+ U: From<T>,

source\u00a7

fn into(self) -> U

Calls U::from(self).

\n

That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

\n+From<T> for U chooses to do.

\n
source\u00a7

impl<T> ToOwned for T
where\n- T: Clone,

\u00a7

type Owned = T

The resulting type after obtaining ownership.
source\u00a7

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source\u00a7

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source\u00a7

impl<T, U> TryFrom<U> for T
where\n- U: Into<T>,

\u00a7

type Error = Infallible

The type returned in the event of a conversion error.
source\u00a7

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source\u00a7

impl<T, U> TryInto<U> for T
where\n- U: TryFrom<T>,

\u00a7

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source\u00a7

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\n+ T: Clone,
\u00a7

type Owned = T

The resulting type after obtaining ownership.
source\u00a7

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source\u00a7

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source\u00a7

impl<T, U> TryFrom<U> for T
where\n+ U: Into<T>,

\u00a7

type Error = Infallible

The type returned in the event of a conversion error.
source\u00a7

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source\u00a7

impl<T, U> TryInto<U> for T
where\n+ U: TryFrom<T>,

\u00a7

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source\u00a7

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/alloc/struct.Layout.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/alloc/struct.Layout.html", "unified_diff": "@@ -1,21 +1,21 @@\n Layout in alloc::alloc - Rust
\n-

Struct alloc::alloc::Layout

1.28.0 \u00b7 source \u00b7
pub struct Layout { /* private fields */ }
Expand description

Layout of a block of memory.

\n+

Struct alloc::alloc::Layout

1.28.0 \u00b7 source \u00b7
pub struct Layout { /* private fields */ }
Expand description

Layout of a block of memory.

\n

An instance of Layout describes a particular layout of memory.\n You build a Layout up as an input to give to an allocator.

\n

All layouts have an associated size and a power-of-two alignment.

\n

(Note that layouts are not required to have non-zero size,\n even though GlobalAlloc requires that all memory requests\n be non-zero in size. A caller must either ensure that conditions\n like this are met, use specific allocators with looser\n requirements, or use the more lenient Allocator interface.)

\n-

Implementations\u00a7

source\u00a7

impl Layout

const: 1.50.0 \u00b7 source

pub const fn from_size_align(\n- size: usize,\n- align: usize\n-) -> Result<Layout, LayoutError>

Constructs a Layout from a given size and align,\n+

Implementations\u00a7

source\u00a7

impl Layout

const: 1.50.0 \u00b7 source

pub const fn from_size_align(\n+ size: usize,\n+ align: usize\n+) -> Result<Layout, LayoutError>

Constructs a Layout from a given size and align,\n or returns LayoutError if any of the following conditions\n are not met:

\n
    \n
  • \n

    align must not be zero,

    \n
  • \n
  • \n@@ -23,95 +23,95 @@\n
  • \n
  • \n

    size, when rounded up to the nearest multiple of align,\n must not overflow isize (i.e., the rounded value must be\n less than or equal to isize::MAX).

    \n
  • \n
\n-
const: 1.36.0 \u00b7 source

pub const unsafe fn from_size_align_unchecked(\n- size: usize,\n- align: usize\n+

const: 1.36.0 \u00b7 source

pub const unsafe fn from_size_align_unchecked(\n+ size: usize,\n+ align: usize\n ) -> Layout

Creates a layout, bypassing all checks.

\n
\u00a7Safety
\n

This function is unsafe as it does not verify the preconditions from\n Layout::from_size_align.

\n-
const: 1.50.0 \u00b7 source

pub const fn size(&self) -> usize

The minimum size in bytes for a memory block of this layout.

\n-
const: 1.50.0 \u00b7 source

pub const fn align(&self) -> usize

The minimum byte alignment for a memory block of this layout.

\n+
const: 1.50.0 \u00b7 source

pub const fn size(&self) -> usize

The minimum size in bytes for a memory block of this layout.

\n+
const: 1.50.0 \u00b7 source

pub const fn align(&self) -> usize

The minimum byte alignment for a memory block of this layout.

\n

The returned alignment is guaranteed to be a power of two.

\n-
const: 1.42.0 \u00b7 source

pub const fn new<T>() -> Layout

Constructs a Layout suitable for holding a value of type T.

\n-
const: unstable \u00b7 source

pub fn for_value<T>(t: &T) -> Layout
where\n- T: ?Sized,

Produces layout describing a record that could be used to\n+

const: 1.42.0 \u00b7 source

pub const fn new<T>() -> Layout

Constructs a Layout suitable for holding a value of type T.

\n+
const: unstable \u00b7 source

pub fn for_value<T>(t: &T) -> Layout
where\n+ T: ?Sized,

Produces layout describing a record that could be used to\n allocate backing structure for T (which could be a trait\n or other unsized type like a slice).

\n-
const: unstable \u00b7 source

pub unsafe fn for_value_raw<T>(t: *const T) -> Layout
where\n- T: ?Sized,

\ud83d\udd2cThis is a nightly-only experimental API. (layout_for_ptr #69835)

Produces layout describing a record that could be used to\n+

const: unstable \u00b7 source

pub unsafe fn for_value_raw<T>(t: *const T) -> Layout
where\n+ T: ?Sized,

\ud83d\udd2cThis is a nightly-only experimental API. (layout_for_ptr #69835)

Produces layout describing a record that could be used to\n allocate backing structure for T (which could be a trait\n or other unsized type like a slice).

\n
\u00a7Safety
\n

This function is only safe to call if the following conditions hold:

\n
    \n
  • If T is Sized, this function is always safe to call.
  • \n
  • If the unsized tail of T is:\n
      \n-
    • a slice, then the length of the slice tail must be an initialized\n+
    • a slice, then the length of the slice tail must be an initialized\n integer, and the size of the entire value\n (dynamic tail length + statically sized prefix) must fit in isize.
    • \n
    • a trait object, then the vtable part of the pointer must point\n to a valid vtable for the type T acquired by an unsizing coercion,\n and the size of the entire value\n (dynamic tail length + statically sized prefix) must fit in isize.
    • \n
    • an (unstable) extern type, then this function is always safe to\n call, but may panic or otherwise return the wrong value, as the\n extern type\u2019s layout is not known. This is the same behavior as\n Layout::for_value on a reference to an extern type tail.
    • \n
    • otherwise, it is conservatively not allowed to call this function.
    • \n
    \n
  • \n
\n-
const: unstable \u00b7 source

pub fn dangling(&self) -> NonNull<u8>

\ud83d\udd2cThis is a nightly-only experimental API. (alloc_layout_extra #55724)

Creates a NonNull that is dangling, but well-aligned for this Layout.

\n+
const: unstable \u00b7 source

pub fn dangling(&self) -> NonNull<u8>

\ud83d\udd2cThis is a nightly-only experimental API. (alloc_layout_extra #55724)

Creates a NonNull that is dangling, but well-aligned for this Layout.

\n

Note that the pointer value may potentially represent a valid pointer,\n which means this must not be used as a \u201cnot yet initialized\u201d\n sentinel value. Types that lazily allocate must track initialization by\n some other means.

\n-
1.44.0 \u00b7 source

pub fn align_to(&self, align: usize) -> Result<Layout, LayoutError>

Creates a layout describing the record that can hold a value\n+

1.44.0 \u00b7 source

pub fn align_to(&self, align: usize) -> Result<Layout, LayoutError>

Creates a layout describing the record that can hold a value\n of the same layout as self, but that also is aligned to\n alignment align (measured in bytes).

\n

If self already meets the prescribed alignment, then returns\n self.

\n

Note that this method does not add any padding to the overall\n size, regardless of whether the returned layout has a different\n alignment. In other words, if K has size 16, K.align_to(32)\n will still have size 16.

\n

Returns an error if the combination of self.size() and the given\n align violates the conditions listed in Layout::from_size_align.

\n-
const: unstable \u00b7 source

pub fn padding_needed_for(&self, align: usize) -> usize

\ud83d\udd2cThis is a nightly-only experimental API. (alloc_layout_extra #55724)

Returns the amount of padding we must insert after self\n+

const: unstable \u00b7 source

pub fn padding_needed_for(&self, align: usize) -> usize

\ud83d\udd2cThis is a nightly-only experimental API. (alloc_layout_extra #55724)

Returns the amount of padding we must insert after self\n to ensure that the following address will satisfy align\n (measured in bytes).

\n

e.g., if self.size() is 9, then self.padding_needed_for(4)\n returns 3, because that is the minimum number of bytes of\n padding required to get a 4-aligned address (assuming that the\n corresponding memory block starts at a 4-aligned address).

\n

The return value of this function has no meaning if align is\n not a power-of-two.

\n

Note that the utility of the returned value requires align\n to be less than or equal to the alignment of the starting\n address for the whole allocated block of memory. One way to\n satisfy this constraint is to ensure align <= self.align().

\n-
1.44.0 (const: unstable) \u00b7 source

pub fn pad_to_align(&self) -> Layout

Creates a layout by rounding the size of this layout up to a multiple\n+

1.44.0 (const: unstable) \u00b7 source

pub fn pad_to_align(&self) -> Layout

Creates a layout by rounding the size of this layout up to a multiple\n of the layout\u2019s alignment.

\n

This is equivalent to adding the result of padding_needed_for\n to the layout\u2019s current size.

\n-
source

pub fn repeat(&self, n: usize) -> Result<(Layout, usize), LayoutError>

\ud83d\udd2cThis is a nightly-only experimental API. (alloc_layout_extra #55724)

Creates a layout describing the record for n instances of\n+

source

pub fn repeat(&self, n: usize) -> Result<(Layout, usize), LayoutError>

\ud83d\udd2cThis is a nightly-only experimental API. (alloc_layout_extra #55724)

Creates a layout describing the record for n instances of\n self, with a suitable amount of padding between each to\n ensure that each instance is given its requested size and\n alignment. On success, returns (k, offs) where k is the\n layout of the array and offs is the distance between the start\n of each element in the array.

\n

On arithmetic overflow, returns LayoutError.

\n-
1.44.0 \u00b7 source

pub fn extend(&self, next: Layout) -> Result<(Layout, usize), LayoutError>

Creates a layout describing the record for self followed by\n+

1.44.0 \u00b7 source

pub fn extend(&self, next: Layout) -> Result<(Layout, usize), LayoutError>

Creates a layout describing the record for self followed by\n next, including any necessary padding to ensure that next\n will be properly aligned, but no trailing padding.

\n

In order to match C representation layout repr(C), you should\n call pad_to_align after extending the layout with all fields.\n (There is no way to match the default Rust representation\n layout repr(Rust), as it is unspecified.)

\n

Note that the alignment of the resulting layout will be the maximum of\n@@ -132,42 +132,42 @@\n let (new_layout, offset) = layout.extend(field)?;\n layout = new_layout;\n offsets.push(offset);\n }\n // Remember to finalize with `pad_to_align`!\n Ok((layout.pad_to_align(), offsets))\n }Run

\n-
source

pub fn repeat_packed(&self, n: usize) -> Result<Layout, LayoutError>

\ud83d\udd2cThis is a nightly-only experimental API. (alloc_layout_extra #55724)

Creates a layout describing the record for n instances of\n+

source

pub fn repeat_packed(&self, n: usize) -> Result<Layout, LayoutError>

\ud83d\udd2cThis is a nightly-only experimental API. (alloc_layout_extra #55724)

Creates a layout describing the record for n instances of\n self, with no padding between each instance.

\n

Note that, unlike repeat, repeat_packed does not guarantee\n that the repeated instances of self will be properly\n aligned, even if a given instance of self is properly\n aligned. In other words, if the layout returned by\n repeat_packed is used to allocate an array, it is not\n guaranteed that all elements in the array will be properly\n aligned.

\n

On arithmetic overflow, returns LayoutError.

\n-
source

pub fn extend_packed(&self, next: Layout) -> Result<Layout, LayoutError>

\ud83d\udd2cThis is a nightly-only experimental API. (alloc_layout_extra #55724)

Creates a layout describing the record for self followed by\n+

source

pub fn extend_packed(&self, next: Layout) -> Result<Layout, LayoutError>

\ud83d\udd2cThis is a nightly-only experimental API. (alloc_layout_extra #55724)

Creates a layout describing the record for self followed by\n next with no additional padding between the two. Since no\n padding is inserted, the alignment of next is irrelevant,\n and is not incorporated at all into the resulting layout.

\n

On arithmetic overflow, returns LayoutError.

\n-
1.44.0 (const: unstable) \u00b7 source

pub fn array<T>(n: usize) -> Result<Layout, LayoutError>

Creates a layout describing the record for a [T; n].

\n+
1.44.0 (const: unstable) \u00b7 source

pub fn array<T>(n: usize) -> Result<Layout, LayoutError>

Creates a layout describing the record for a [T; n].

\n

On arithmetic overflow or when the total size would exceed\n isize::MAX, returns LayoutError.

\n-

Trait Implementations\u00a7

source\u00a7

impl Clone for Layout

source\u00a7

fn clone(&self) -> Layout

Returns a copy of the value. Read more
1.0.0 \u00b7 source\u00a7

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source\u00a7

impl Debug for Layout

source\u00a7

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source\u00a7

impl Hash for Layout

source\u00a7

fn hash<__H>(&self, state: &mut __H)
where\n- __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 \u00b7 source\u00a7

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n- H: Hasher,\n- Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source\u00a7

impl PartialEq for Layout

source\u00a7

fn eq(&self, other: &Layout) -> bool

This method tests for self and other values to be equal, and is used\n-by ==.
1.0.0 \u00b7 source\u00a7

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
source\u00a7

impl Copy for Layout

source\u00a7

impl Eq for Layout

source\u00a7

impl StructuralPartialEq for Layout

Auto Trait Implementations\u00a7

Blanket Implementations\u00a7

source\u00a7

impl<T> Any for T
where\n- T: 'static + ?Sized,

source\u00a7

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source\u00a7

impl<T> Borrow<T> for T
where\n- T: ?Sized,

source\u00a7

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source\u00a7

impl<T> BorrowMut<T> for T
where\n- T: ?Sized,

source\u00a7

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source\u00a7

impl<T> From<T> for T

source\u00a7

fn from(t: T) -> T

Returns the argument unchanged.

\n-
source\u00a7

impl<T, U> Into<U> for T
where\n- U: From<T>,

source\u00a7

fn into(self) -> U

Calls U::from(self).

\n+

Trait Implementations\u00a7

source\u00a7

impl Clone for Layout

source\u00a7

fn clone(&self) -> Layout

Returns a copy of the value. Read more
1.0.0 \u00b7 source\u00a7

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source\u00a7

impl Debug for Layout

source\u00a7

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source\u00a7

impl Hash for Layout

source\u00a7

fn hash<__H>(&self, state: &mut __H)
where\n+ __H: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 \u00b7 source\u00a7

fn hash_slice<H>(data: &[Self], state: &mut H)
where\n+ H: Hasher,\n+ Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source\u00a7

impl PartialEq for Layout

source\u00a7

fn eq(&self, other: &Layout) -> bool

This method tests for self and other values to be equal, and is used\n+by ==.
1.0.0 \u00b7 source\u00a7

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
source\u00a7

impl Copy for Layout

source\u00a7

impl Eq for Layout

source\u00a7

impl StructuralPartialEq for Layout

Auto Trait Implementations\u00a7

Blanket Implementations\u00a7

source\u00a7

impl<T> Any for T
where\n+ T: 'static + ?Sized,

source\u00a7

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source\u00a7

impl<T> Borrow<T> for T
where\n+ T: ?Sized,

source\u00a7

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source\u00a7

impl<T> BorrowMut<T> for T
where\n+ T: ?Sized,

source\u00a7

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source\u00a7

impl<T> From<T> for T

source\u00a7

fn from(t: T) -> T

Returns the argument unchanged.

\n+
source\u00a7

impl<T, U> Into<U> for T
where\n+ U: From<T>,

source\u00a7

fn into(self) -> U

Calls U::from(self).

\n

That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

\n+From<T> for U chooses to do.

\n
source\u00a7

impl<T> ToOwned for T
where\n- T: Clone,

\u00a7

type Owned = T

The resulting type after obtaining ownership.
source\u00a7

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source\u00a7

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source\u00a7

impl<T, U> TryFrom<U> for T
where\n- U: Into<T>,

\u00a7

type Error = Infallible

The type returned in the event of a conversion error.
source\u00a7

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source\u00a7

impl<T, U> TryInto<U> for T
where\n- U: TryFrom<T>,

\u00a7

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source\u00a7

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\n+ T: Clone,
\u00a7

type Owned = T

The resulting type after obtaining ownership.
source\u00a7

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source\u00a7

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source\u00a7

impl<T, U> TryFrom<U> for T
where\n+ U: Into<T>,

\u00a7

type Error = Infallible

The type returned in the event of a conversion error.
source\u00a7

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source\u00a7

impl<T, U> TryInto<U> for T
where\n+ U: TryFrom<T>,

\u00a7

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source\u00a7

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/alloc/struct.LayoutError.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/alloc/struct.LayoutError.html", "unified_diff": "@@ -1,20 +1,20 @@\n LayoutError in alloc::alloc - Rust
\n-

Struct alloc::alloc::LayoutError

1.50.0 \u00b7 source \u00b7
#[non_exhaustive]
pub struct LayoutError;
Expand description

The parameters given to Layout::from_size_align\n+

Struct alloc::alloc::LayoutError

1.50.0 \u00b7 source \u00b7
#[non_exhaustive]
pub struct LayoutError;
Expand description

The parameters given to Layout::from_size_align\n or some other Layout constructor\n do not satisfy its documented constraints.

\n-

Trait Implementations\u00a7

source\u00a7

impl Clone for LayoutError

source\u00a7

fn clone(&self) -> LayoutError

Returns a copy of the value. Read more
1.0.0 \u00b7 source\u00a7

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source\u00a7

impl Debug for LayoutError

source\u00a7

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
1.28.0 \u00b7 source\u00a7

impl Display for LayoutError

source\u00a7

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
1.28.0 \u00b7 source\u00a7

impl Error for LayoutError

1.30.0 \u00b7 source\u00a7

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 \u00b7 source\u00a7

fn description(&self) -> &str

\ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
1.0.0 \u00b7 source\u00a7

fn cause(&self) -> Option<&dyn Error>

\ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
source\u00a7

fn provide<'a>(&'a self, request: &mut Request<'a>)

\ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
Provides type based access to context intended for error reports. Read more
source\u00a7

impl From<LayoutError> for TryReserveErrorKind

source\u00a7

impl PartialEq for LayoutError

source\u00a7

fn eq(&self, other: &LayoutError) -> bool

This method tests for self and other values to be equal, and is used\n-by ==.
1.0.0 \u00b7 source\u00a7

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
source\u00a7

impl Eq for LayoutError

source\u00a7

impl StructuralPartialEq for LayoutError

Auto Trait Implementations\u00a7

Blanket Implementations\u00a7

source\u00a7

impl<T> Any for T
where\n- T: 'static + ?Sized,

source\u00a7

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source\u00a7

impl<T> Borrow<T> for T
where\n- T: ?Sized,

source\u00a7

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source\u00a7

impl<T> BorrowMut<T> for T
where\n- T: ?Sized,

source\u00a7

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source\u00a7

impl<T> From<T> for T

source\u00a7

fn from(t: T) -> T

Returns the argument unchanged.

\n-
source\u00a7

impl<T, U> Into<U> for T
where\n- U: From<T>,

source\u00a7

fn into(self) -> U

Calls U::from(self).

\n+

Trait Implementations\u00a7

source\u00a7

impl Clone for LayoutError

source\u00a7

fn clone(&self) -> LayoutError

Returns a copy of the value. Read more
1.0.0 \u00b7 source\u00a7

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source\u00a7

impl Debug for LayoutError

source\u00a7

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
1.28.0 \u00b7 source\u00a7

impl Display for LayoutError

source\u00a7

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
1.28.0 \u00b7 source\u00a7

impl Error for LayoutError

1.30.0 \u00b7 source\u00a7

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 \u00b7 source\u00a7

fn description(&self) -> &str

\ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
1.0.0 \u00b7 source\u00a7

fn cause(&self) -> Option<&dyn Error>

\ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
source\u00a7

fn provide<'a>(&'a self, request: &mut Request<'a>)

\ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
Provides type based access to context intended for error reports. Read more
source\u00a7

impl From<LayoutError> for TryReserveErrorKind

source\u00a7

impl PartialEq for LayoutError

source\u00a7

fn eq(&self, other: &LayoutError) -> bool

This method tests for self and other values to be equal, and is used\n+by ==.
1.0.0 \u00b7 source\u00a7

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
source\u00a7

impl Eq for LayoutError

source\u00a7

impl StructuralPartialEq for LayoutError

Auto Trait Implementations\u00a7

Blanket Implementations\u00a7

source\u00a7

impl<T> Any for T
where\n+ T: 'static + ?Sized,

source\u00a7

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source\u00a7

impl<T> Borrow<T> for T
where\n+ T: ?Sized,

source\u00a7

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source\u00a7

impl<T> BorrowMut<T> for T
where\n+ T: ?Sized,

source\u00a7

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source\u00a7

impl<T> From<T> for T

source\u00a7

fn from(t: T) -> T

Returns the argument unchanged.

\n+
source\u00a7

impl<T, U> Into<U> for T
where\n+ U: From<T>,

source\u00a7

fn into(self) -> U

Calls U::from(self).

\n

That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

\n+From<T> for U chooses to do.

\n
source\u00a7

impl<T> ToOwned for T
where\n- T: Clone,

\u00a7

type Owned = T

The resulting type after obtaining ownership.
source\u00a7

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source\u00a7

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source\u00a7

impl<T> ToString for T
where\n- T: Display + ?Sized,

source\u00a7

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source\u00a7

impl<T, U> TryFrom<U> for T
where\n- U: Into<T>,

\u00a7

type Error = Infallible

The type returned in the event of a conversion error.
source\u00a7

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source\u00a7

impl<T, U> TryInto<U> for T
where\n- U: TryFrom<T>,

\u00a7

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source\u00a7

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\n+ T: Clone,
\u00a7

type Owned = T

The resulting type after obtaining ownership.
source\u00a7

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source\u00a7

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source\u00a7

impl<T> ToString for T
where\n+ T: Display + ?Sized,

source\u00a7

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source\u00a7

impl<T, U> TryFrom<U> for T
where\n+ U: Into<T>,

\u00a7

type Error = Infallible

The type returned in the event of a conversion error.
source\u00a7

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source\u00a7

impl<T, U> TryInto<U> for T
where\n+ U: TryFrom<T>,

\u00a7

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source\u00a7

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
\n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/alloc/trait.Allocator.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/alloc/trait.Allocator.html", "unified_diff": "@@ -1,38 +1,38 @@\n Allocator in alloc::alloc - Rust
\n-

Trait alloc::alloc::Allocator

source \u00b7
pub unsafe trait Allocator {\n+    

Trait alloc::alloc::Allocator

source \u00b7
pub unsafe trait Allocator {\n     // Required methods\n-    fn allocate(&self, layout: Layout) -> Result<NonNull<[u8]>, AllocError>;\n-    unsafe fn deallocate(&self, ptr: NonNull<u8>, layout: Layout);\n+    fn allocate(&self, layout: Layout) -> Result<NonNull<[u8]>, AllocError>;\n+    unsafe fn deallocate(&self, ptr: NonNull<u8>, layout: Layout);\n \n     // Provided methods\n     fn allocate_zeroed(\n         &self,\n         layout: Layout\n-    ) -> Result<NonNull<[u8]>, AllocError> { ... }\n+    ) -> Result<NonNull<[u8]>, AllocError> { ... }\n     unsafe fn grow(\n         &self,\n-        ptr: NonNull<u8>,\n+        ptr: NonNull<u8>,\n         old_layout: Layout,\n         new_layout: Layout\n-    ) -> Result<NonNull<[u8]>, AllocError> { ... }\n+    ) -> Result<NonNull<[u8]>, AllocError> { ... }\n     unsafe fn grow_zeroed(\n         &self,\n-        ptr: NonNull<u8>,\n+        ptr: NonNull<u8>,\n         old_layout: Layout,\n         new_layout: Layout\n-    ) -> Result<NonNull<[u8]>, AllocError> { ... }\n+    ) -> Result<NonNull<[u8]>, AllocError> { ... }\n     unsafe fn shrink(\n         &self,\n-        ptr: NonNull<u8>,\n+        ptr: NonNull<u8>,\n         old_layout: Layout,\n         new_layout: Layout\n-    ) -> Result<NonNull<[u8]>, AllocError> { ... }\n-    fn by_ref(&self) -> &Self\n-       where Self: Sized { ... }\n+    ) -> Result<NonNull<[u8]>, AllocError> { ... }\n+    fn by_ref(&self) -> &Self\n+       where Self: Sized { ... }\n }
\ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)
Expand description

An implementation of Allocator can allocate, grow, shrink, and deallocate arbitrary blocks of\n data described via Layout.

\n

Allocator is designed to be implemented on ZSTs, references, or smart pointers because having\n an allocator like MyAlloc([u8; N]) cannot be moved, without updating the pointers to the\n allocated memory.

\n

Unlike GlobalAlloc, zero-sized allocations are allowed in Allocator. If an underlying\n allocator does not support this (like jemalloc) or return a null pointer (such as\n@@ -84,16 +84,16 @@\n allocator. A copied or cloned allocator must behave like the same allocator, and

\n \n
  • \n

    any pointer to a memory block which is currently allocated may be passed to any other\n method of the allocator.

    \n
  • \n \n-

    Required Methods\u00a7

    source

    fn allocate(&self, layout: Layout) -> Result<NonNull<[u8]>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Attempts to allocate a block of memory.

    \n-

    On success, returns a NonNull<[u8]> meeting the size and alignment guarantees of layout.

    \n+

    Required Methods\u00a7

    source

    fn allocate(&self, layout: Layout) -> Result<NonNull<[u8]>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Attempts to allocate a block of memory.

    \n+

    On success, returns a NonNull<[u8]> meeting the size and alignment guarantees of layout.

    \n

    The returned block may have a larger size than specified by layout.size(), and may or may\n not have its contents initialized.

    \n

    The returned block of memory remains valid as long as it is [currently allocated] and the shorter of:

    \n
      \n
    • the borrow-checker lifetime of the allocator type itself.
    • \n
    • as long as at the allocator and all its clones has not been dropped.
    • \n
    \n@@ -101,36 +101,36 @@\n

    Returning Err indicates that either memory is exhausted or layout does not meet\n allocator\u2019s size or alignment constraints.

    \n

    Implementations are encouraged to return Err on memory exhaustion rather than panicking or\n aborting, but this is not a strict requirement. (Specifically: it is legal to implement\n this trait atop an underlying native allocation library that aborts on memory exhaustion.)

    \n

    Clients wishing to abort computation in response to an allocation error are encouraged to\n call the handle_alloc_error function, rather than directly invoking panic! or similar.

    \n-
    source

    unsafe fn deallocate(&self, ptr: NonNull<u8>, layout: Layout)

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Deallocates the memory referenced by ptr.

    \n+
    source

    unsafe fn deallocate(&self, ptr: NonNull<u8>, layout: Layout)

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Deallocates the memory referenced by ptr.

    \n
    \u00a7Safety
    \n
      \n
    • ptr must denote a block of memory currently allocated via this allocator, and
    • \n
    • layout must fit that block of memory.
    • \n
    \n-

    Provided Methods\u00a7

    source

    fn allocate_zeroed(&self, layout: Layout) -> Result<NonNull<[u8]>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Behaves like allocate, but also ensures that the returned memory is zero-initialized.

    \n+

    Provided Methods\u00a7

    source

    fn allocate_zeroed(&self, layout: Layout) -> Result<NonNull<[u8]>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Behaves like allocate, but also ensures that the returned memory is zero-initialized.

    \n
    \u00a7Errors
    \n

    Returning Err indicates that either memory is exhausted or layout does not meet\n allocator\u2019s size or alignment constraints.

    \n

    Implementations are encouraged to return Err on memory exhaustion rather than panicking or\n aborting, but this is not a strict requirement. (Specifically: it is legal to implement\n this trait atop an underlying native allocation library that aborts on memory exhaustion.)

    \n

    Clients wishing to abort computation in response to an allocation error are encouraged to\n call the handle_alloc_error function, rather than directly invoking panic! or similar.

    \n-
    source

    unsafe fn grow(\n+

    source

    unsafe fn grow(\n &self,\n- ptr: NonNull<u8>,\n+ ptr: NonNull<u8>,\n old_layout: Layout,\n new_layout: Layout\n-) -> Result<NonNull<[u8]>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Attempts to extend the memory block.

    \n-

    Returns a new NonNull<[u8]> containing a pointer and the actual size of the allocated\n+) -> Result<NonNull<[u8]>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Attempts to extend the memory block.

    \n+

    Returns a new NonNull<[u8]> containing a pointer and the actual size of the allocated\n memory. The pointer is suitable for holding data described by new_layout. To accomplish\n this, the allocator may extend the allocation referenced by ptr to fit the new layout.

    \n

    If this returns Ok, then ownership of the memory block referenced by ptr has been\n transferred to this allocator. Any access to the old ptr is Undefined Behavior, even if the\n allocation was grown in-place. The newly returned pointer is the only valid pointer\n for accessing this memory now.

    \n

    If this method returns Err, then ownership of the memory block has not been transferred to\n@@ -146,20 +146,20 @@\n

    Returns Err if the new layout does not meet the allocator\u2019s size and alignment\n constraints of the allocator, or if growing otherwise fails.

    \n

    Implementations are encouraged to return Err on memory exhaustion rather than panicking or\n aborting, but this is not a strict requirement. (Specifically: it is legal to implement\n this trait atop an underlying native allocation library that aborts on memory exhaustion.)

    \n

    Clients wishing to abort computation in response to an allocation error are encouraged to\n call the handle_alloc_error function, rather than directly invoking panic! or similar.

    \n-
    source

    unsafe fn grow_zeroed(\n+

    source

    unsafe fn grow_zeroed(\n &self,\n- ptr: NonNull<u8>,\n+ ptr: NonNull<u8>,\n old_layout: Layout,\n new_layout: Layout\n-) -> Result<NonNull<[u8]>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Behaves like grow, but also ensures that the new contents are set to zero before being\n+) -> Result<NonNull<[u8]>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Behaves like grow, but also ensures that the new contents are set to zero before being\n returned.

    \n

    The memory block will contain the following contents after a successful call to\n grow_zeroed:

    \n
      \n
    • Bytes 0..old_layout.size() are preserved from the original allocation.
    • \n
    • Bytes old_layout.size()..old_size will either be preserved or zeroed, depending on\n the allocator implementation. old_size refers to the size of the memory block prior\n@@ -179,21 +179,21 @@\n

      Returns Err if the new layout does not meet the allocator\u2019s size and alignment\n constraints of the allocator, or if growing otherwise fails.

      \n

      Implementations are encouraged to return Err on memory exhaustion rather than panicking or\n aborting, but this is not a strict requirement. (Specifically: it is legal to implement\n this trait atop an underlying native allocation library that aborts on memory exhaustion.)

      \n

      Clients wishing to abort computation in response to an allocation error are encouraged to\n call the handle_alloc_error function, rather than directly invoking panic! or similar.

      \n-
    source

    unsafe fn shrink(\n+

    source

    unsafe fn shrink(\n &self,\n- ptr: NonNull<u8>,\n+ ptr: NonNull<u8>,\n old_layout: Layout,\n new_layout: Layout\n-) -> Result<NonNull<[u8]>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Attempts to shrink the memory block.

    \n-

    Returns a new NonNull<[u8]> containing a pointer and the actual size of the allocated\n+) -> Result<NonNull<[u8]>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Attempts to shrink the memory block.

    \n+

    Returns a new NonNull<[u8]> containing a pointer and the actual size of the allocated\n memory. The pointer is suitable for holding data described by new_layout. To accomplish\n this, the allocator may shrink the allocation referenced by ptr to fit the new layout.

    \n

    If this returns Ok, then ownership of the memory block referenced by ptr has been\n transferred to this allocator. Any access to the old ptr is Undefined Behavior, even if the\n allocation was shrunk in-place. The newly returned pointer is the only valid pointer\n for accessing this memory now.

    \n

    If this method returns Err, then ownership of the memory block has not been transferred to\n@@ -209,12 +209,12 @@\n

    Returns Err if the new layout does not meet the allocator\u2019s size and alignment\n constraints of the allocator, or if shrinking otherwise fails.

    \n

    Implementations are encouraged to return Err on memory exhaustion rather than panicking or\n aborting, but this is not a strict requirement. (Specifically: it is legal to implement\n this trait atop an underlying native allocation library that aborts on memory exhaustion.)

    \n

    Clients wishing to abort computation in response to an allocation error are encouraged to\n call the handle_alloc_error function, rather than directly invoking panic! or similar.

    \n-
    source

    fn by_ref(&self) -> &Self
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Creates a \u201cby reference\u201d adapter for this instance of Allocator.

    \n+
    source

    fn by_ref(&self) -> &Self
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Creates a \u201cby reference\u201d adapter for this instance of Allocator.

    \n

    The returned adapter also implements Allocator and will simply borrow this.

    \n-

    Implementors\u00a7

    \n+

    Implementors\u00a7

    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/alloc/trait.GlobalAlloc.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/alloc/trait.GlobalAlloc.html", "unified_diff": "@@ -1,21 +1,21 @@\n GlobalAlloc in alloc::alloc - Rust
    \n-

    Trait alloc::alloc::GlobalAlloc

    1.28.0 \u00b7 source \u00b7
    pub unsafe trait GlobalAlloc {\n+    

    Trait alloc::alloc::GlobalAlloc

    1.28.0 \u00b7 source \u00b7
    pub unsafe trait GlobalAlloc {\n     // Required methods\n-    unsafe fn alloc(&self, layout: Layout) -> *mut u8;\n-    unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout);\n+    unsafe fn alloc(&self, layout: Layout) -> *mut u8;\n+    unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout);\n \n     // Provided methods\n-    unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u8 { ... }\n+    unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u8 { ... }\n     unsafe fn realloc(\n         &self,\n-        ptr: *mut u8,\n+        ptr: *mut u8,\n         layout: Layout,\n-        new_size: usize\n-    ) -> *mut u8 { ... }\n+        new_size: usize\n+    ) -> *mut u8 { ... }\n }
    Expand description

    A memory allocator that can be registered as the standard library\u2019s default\n through the #[global_allocator] attribute.

    \n

    Some of the methods require that a memory block be currently\n allocated via an allocator. This means that:

    \n
      \n
    • \n

      the starting address for that memory block was previously\n@@ -123,15 +123,15 @@\n optimization that can be applied. You may generally not rely on heap allocations\n happening if they can be removed without changing program behavior.\n Whether allocations happen or not is not part of the program behavior, even if it\n could be detected via an allocator that tracks allocations by printing or otherwise\n having side effects.

      \n
    • \n
    \n-

    Required Methods\u00a7

    source

    unsafe fn alloc(&self, layout: Layout) -> *mut u8

    Allocate memory as described by the given layout.

    \n+

    Required Methods\u00a7

    source

    unsafe fn alloc(&self, layout: Layout) -> *mut u8

    Allocate memory as described by the given layout.

    \n

    Returns a pointer to newly-allocated memory,\n or null to indicate allocation failure.

    \n
    \u00a7Safety
    \n

    This function is unsafe because undefined behavior can result\n if the caller does not ensure that layout has non-zero size.

    \n

    (Extension subtraits might provide more specific bounds on\n behavior, e.g., guarantee a sentinel address or a null pointer\n@@ -144,46 +144,46 @@\n exhaustion rather than aborting, but this is not\n a strict requirement. (Specifically: it is legal to\n implement this trait atop an underlying native allocation\n library that aborts on memory exhaustion.)

    \n

    Clients wishing to abort computation in response to an\n allocation error are encouraged to call the handle_alloc_error function,\n rather than directly invoking panic! or similar.

    \n-
    source

    unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout)

    Deallocate the block of memory at the given ptr pointer with the given layout.

    \n+
    source

    unsafe fn dealloc(&self, ptr: *mut u8, layout: Layout)

    Deallocate the block of memory at the given ptr pointer with the given layout.

    \n
    \u00a7Safety
    \n

    This function is unsafe because undefined behavior can result\n if the caller does not ensure all of the following:

    \n
      \n
    • \n

      ptr must denote a block of memory currently allocated via\n this allocator,

      \n
    • \n
    • \n

      layout must be the same layout that was used\n to allocate that block of memory.

      \n
    • \n
    \n-

    Provided Methods\u00a7

    source

    unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u8

    Behaves like alloc, but also ensures that the contents\n+

    Provided Methods\u00a7

    source

    unsafe fn alloc_zeroed(&self, layout: Layout) -> *mut u8

    Behaves like alloc, but also ensures that the contents\n are set to zero before being returned.

    \n
    \u00a7Safety
    \n

    This function is unsafe for the same reasons that alloc is.\n However the allocated block of memory is guaranteed to be initialized.

    \n
    \u00a7Errors
    \n

    Returning a null pointer indicates that either memory is exhausted\n or layout does not meet allocator\u2019s size or alignment constraints,\n just as in alloc.

    \n

    Clients wishing to abort computation in response to an\n allocation error are encouraged to call the handle_alloc_error function,\n rather than directly invoking panic! or similar.

    \n-
    source

    unsafe fn realloc(\n+

    source

    unsafe fn realloc(\n &self,\n- ptr: *mut u8,\n+ ptr: *mut u8,\n layout: Layout,\n- new_size: usize\n-) -> *mut u8

    Shrink or grow a block of memory to the given new_size in bytes.\n+ new_size: usize\n+) -> *mut u8

    Shrink or grow a block of memory to the given new_size in bytes.\n The block is described by the given ptr pointer and layout.

    \n

    If this returns a non-null pointer, then ownership of the memory block\n referenced by ptr has been transferred to this allocator.\n Any access to the old ptr is Undefined Behavior, even if the\n allocation remained in-place. The newly returned pointer is the only valid pointer\n for accessing this memory now.

    \n

    The new memory block is allocated with layout,\n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/alloc/type.LayoutErr.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/alloc/type.LayoutErr.html", "unified_diff": "@@ -1,2 +1,2 @@\n LayoutErr in alloc::alloc - Rust

    \n-

    Type Alias alloc::alloc::LayoutErr

    1.28.0 \u00b7 source \u00b7
    pub type LayoutErr = LayoutError;
    \ud83d\udc4eDeprecated since 1.52.0: Name does not follow std convention, use LayoutError

    Aliased Type\u00a7

    struct LayoutErr;
    \n+

    Type Alias alloc::alloc::LayoutErr

    1.28.0 \u00b7 source \u00b7
    pub type LayoutErr = LayoutError;
    \ud83d\udc4eDeprecated since 1.52.0: Name does not follow std convention, use LayoutError

    Aliased Type\u00a7

    struct LayoutErr;
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/borrow/enum.Cow.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/borrow/enum.Cow.html", "unified_diff": "@@ -1,11 +1,11 @@\n Cow in alloc::borrow - Rust
    \n

    Enum alloc::borrow::Cow

    1.0.0 \u00b7 source \u00b7
    pub enum Cow<'a, B>
    where\n- B: ToOwned + ?Sized + 'a,
    {\n- Borrowed(&'a B),\n+ B: ToOwned + ?Sized + 'a,
    {\n+ Borrowed(&'a B),\n Owned(<B as ToOwned>::Owned),\n }
    Expand description

    A clone-on-write smart pointer.

    \n

    The type Cow is a smart pointer providing clone-on-write functionality: it\n can enclose and provide immutable access to borrowed data, and clone the\n data lazily when mutation or ownership is required. The type is designed to\n work with general borrowed data via the Borrow trait.

    \n

    Cow implements Deref, which means that you can call\n@@ -70,27 +70,27 @@\n println!(\"clone_on_write = {:?}\", clone_on_write.values);\n \n // The data was mutated. Let's check it out.\n match clone_on_write {\n Items { values: Cow::Owned(_) } => println!(\"clone_on_write contains owned data\"),\n _ => panic!(\"expect owned data\"),\n }Run

    \n-

    Variants\u00a7

    \u00a7

    Borrowed(&'a B)

    Borrowed data.

    \n+

    Variants\u00a7

    \u00a7

    Borrowed(&'a B)

    Borrowed data.

    \n
    \u00a7

    Owned(<B as ToOwned>::Owned)

    Owned data.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<B: ?Sized + ToOwned> Cow<'_, B>

    const: unstable \u00b7 source

    pub fn is_borrowed(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (cow_is_borrowed #65143)

    Returns true if the data is borrowed, i.e. if to_mut would require additional work.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<B: ?Sized + ToOwned> Cow<'_, B>

    const: unstable \u00b7 source

    pub fn is_borrowed(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (cow_is_borrowed #65143)

    Returns true if the data is borrowed, i.e. if to_mut would require additional work.

    \n
    \u00a7Examples
    \n
    #![feature(cow_is_borrowed)]\n use std::borrow::Cow;\n \n let cow = Cow::Borrowed(\"moo\");\n assert!(cow.is_borrowed());\n \n let bull: Cow<'_, str> = Cow::Owned(\"...moo?\".to_string());\n assert!(!bull.is_borrowed());
    Run
    \n-
    const: unstable \u00b7 source

    pub fn is_owned(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (cow_is_borrowed #65143)

    Returns true if the data is owned, i.e. if to_mut would be a no-op.

    \n+
    const: unstable \u00b7 source

    pub fn is_owned(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (cow_is_borrowed #65143)

    Returns true if the data is owned, i.e. if to_mut would be a no-op.

    \n
    \u00a7Examples
    \n
    #![feature(cow_is_borrowed)]\n use std::borrow::Cow;\n \n let cow: Cow<'_, str> = Cow::Owned(\"moo\".to_string());\n assert!(cow.is_owned());\n \n@@ -130,184 +130,184 @@\n let s = \"Hello world!\";\n let cow: Cow<'_, str> = Cow::Owned(String::from(s));\n \n assert_eq!(\n   cow.into_owned(),\n   String::from(s)\n );
    Run
    \n-

    Trait Implementations\u00a7

    1.14.0 \u00b7 source\u00a7

    impl<'a> Add<&'a str> for Cow<'a, str>

    \u00a7

    type Output = Cow<'a, str>

    The resulting type after applying the + operator.
    source\u00a7

    fn add(self, rhs: &'a str) -> Self::Output

    Performs the + operation. Read more
    1.14.0 \u00b7 source\u00a7

    impl<'a> Add for Cow<'a, str>

    \u00a7

    type Output = Cow<'a, str>

    The resulting type after applying the + operator.
    source\u00a7

    fn add(self, rhs: Cow<'a, str>) -> Self::Output

    Performs the + operation. Read more
    1.14.0 \u00b7 source\u00a7

    impl<'a> AddAssign<&'a str> for Cow<'a, str>

    source\u00a7

    fn add_assign(&mut self, rhs: &'a str)

    Performs the += operation. Read more
    1.14.0 \u00b7 source\u00a7

    impl<'a> AddAssign for Cow<'a, str>

    source\u00a7

    fn add_assign(&mut self, rhs: Cow<'a, str>)

    Performs the += operation. Read more
    source\u00a7

    impl<T: ?Sized + ToOwned> AsRef<T> for Cow<'_, T>

    source\u00a7

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    source\u00a7

    impl<'a, B> Borrow<B> for Cow<'a, B>
    where\n- B: ToOwned + ?Sized,

    source\u00a7

    fn borrow(&self) -> &B

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<B: ?Sized + ToOwned> Clone for Cow<'_, B>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<B> Debug for Cow<'_, B>
    where\n- B: Debug + ToOwned<Owned: Debug> + ?Sized,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.11.0 \u00b7 source\u00a7

    impl<B> Default for Cow<'_, B>
    where\n- B: ToOwned<Owned: Default> + ?Sized,

    source\u00a7

    fn default() -> Self

    Creates an owned Cow<\u2019a, B> with the default value for the contained owned value.

    \n-
    source\u00a7

    impl<B: ?Sized + ToOwned> Deref for Cow<'_, B>
    where\n- B::Owned: Borrow<B>,

    \u00a7

    type Target = B

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &B

    Dereferences the value.
    source\u00a7

    impl<B> Display for Cow<'_, B>
    where\n- B: Display + ToOwned<Owned: Display> + ?Sized,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.19.0 \u00b7 source\u00a7

    impl<'a> Extend<Cow<'a, str>> for String

    source\u00a7

    fn extend<I: IntoIterator<Item = Cow<'a, str>>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, s: Cow<'a, str>)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    1.8.0 \u00b7 source\u00a7

    impl<'a, T: Clone> From<&'a [T]> for Cow<'a, [T]>

    source\u00a7

    fn from(s: &'a [T]) -> Cow<'a, [T]>

    Creates a Borrowed variant of Cow\n+

    Trait Implementations\u00a7

    1.14.0 \u00b7 source\u00a7

    impl<'a> Add<&'a str> for Cow<'a, str>

    \u00a7

    type Output = Cow<'a, str>

    The resulting type after applying the + operator.
    source\u00a7

    fn add(self, rhs: &'a str) -> Self::Output

    Performs the + operation. Read more
    1.14.0 \u00b7 source\u00a7

    impl<'a> Add for Cow<'a, str>

    \u00a7

    type Output = Cow<'a, str>

    The resulting type after applying the + operator.
    source\u00a7

    fn add(self, rhs: Cow<'a, str>) -> Self::Output

    Performs the + operation. Read more
    1.14.0 \u00b7 source\u00a7

    impl<'a> AddAssign<&'a str> for Cow<'a, str>

    source\u00a7

    fn add_assign(&mut self, rhs: &'a str)

    Performs the += operation. Read more
    1.14.0 \u00b7 source\u00a7

    impl<'a> AddAssign for Cow<'a, str>

    source\u00a7

    fn add_assign(&mut self, rhs: Cow<'a, str>)

    Performs the += operation. Read more
    source\u00a7

    impl<T: ?Sized + ToOwned> AsRef<T> for Cow<'_, T>

    source\u00a7

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    source\u00a7

    impl<'a, B> Borrow<B> for Cow<'a, B>
    where\n+ B: ToOwned + ?Sized,

    source\u00a7

    fn borrow(&self) -> &B

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<B: ?Sized + ToOwned> Clone for Cow<'_, B>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<B> Debug for Cow<'_, B>
    where\n+ B: Debug + ToOwned<Owned: Debug> + ?Sized,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.11.0 \u00b7 source\u00a7

    impl<B> Default for Cow<'_, B>
    where\n+ B: ToOwned<Owned: Default> + ?Sized,

    source\u00a7

    fn default() -> Self

    Creates an owned Cow<\u2019a, B> with the default value for the contained owned value.

    \n+
    source\u00a7

    impl<B: ?Sized + ToOwned> Deref for Cow<'_, B>
    where\n+ B::Owned: Borrow<B>,

    \u00a7

    type Target = B

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &B

    Dereferences the value.
    source\u00a7

    impl<B> Display for Cow<'_, B>
    where\n+ B: Display + ToOwned<Owned: Display> + ?Sized,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.19.0 \u00b7 source\u00a7

    impl<'a> Extend<Cow<'a, str>> for String

    source\u00a7

    fn extend<I: IntoIterator<Item = Cow<'a, str>>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, s: Cow<'a, str>)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    1.8.0 \u00b7 source\u00a7

    impl<'a, T: Clone> From<&'a [T]> for Cow<'a, [T]>

    source\u00a7

    fn from(s: &'a [T]) -> Cow<'a, [T]>

    Creates a Borrowed variant of Cow\n from a slice.

    \n

    This conversion does not allocate or clone the data.

    \n-
    1.77.0 \u00b7 source\u00a7

    impl<'a, T: Clone, const N: usize> From<&'a [T; N]> for Cow<'a, [T]>

    source\u00a7

    fn from(s: &'a [T; N]) -> Cow<'a, [T]>

    Creates a Borrowed variant of Cow\n+

    1.77.0 \u00b7 source\u00a7

    impl<'a, T: Clone, const N: usize> From<&'a [T; N]> for Cow<'a, [T]>

    source\u00a7

    fn from(s: &'a [T; N]) -> Cow<'a, [T]>

    Creates a Borrowed variant of Cow\n from a reference to an array.

    \n

    This conversion does not allocate or clone the data.

    \n-
    1.28.0 \u00b7 source\u00a7

    impl<'a> From<&'a CStr> for Cow<'a, CStr>

    source\u00a7

    fn from(s: &'a CStr) -> Cow<'a, CStr>

    Converts a CStr into a borrowed Cow without copying or allocating.

    \n-
    1.28.0 \u00b7 source\u00a7

    impl<'a> From<&'a CString> for Cow<'a, CStr>

    source\u00a7

    fn from(s: &'a CString) -> Cow<'a, CStr>

    Converts a &CString into a borrowed Cow without copying or allocating.

    \n-
    1.28.0 \u00b7 source\u00a7

    impl<'a> From<&'a String> for Cow<'a, str>

    source\u00a7

    fn from(s: &'a String) -> Cow<'a, str>

    Converts a String reference into a Borrowed variant.\n+

    1.28.0 \u00b7 source\u00a7

    impl<'a> From<&'a CStr> for Cow<'a, CStr>

    source\u00a7

    fn from(s: &'a CStr) -> Cow<'a, CStr>

    Converts a CStr into a borrowed Cow without copying or allocating.

    \n+
    1.28.0 \u00b7 source\u00a7

    impl<'a> From<&'a CString> for Cow<'a, CStr>

    source\u00a7

    fn from(s: &'a CString) -> Cow<'a, CStr>

    Converts a &CString into a borrowed Cow without copying or allocating.

    \n+
    1.28.0 \u00b7 source\u00a7

    impl<'a> From<&'a String> for Cow<'a, str>

    source\u00a7

    fn from(s: &'a String) -> Cow<'a, str>

    Converts a String reference into a Borrowed variant.\n No heap allocation is performed, and the string\n is not copied.

    \n
    \u00a7Example
    \n
    let s = \"eggplant\".to_string();\n assert_eq!(Cow::from(&s), Cow::Borrowed(\"eggplant\"));
    Run
    \n-
    1.28.0 \u00b7 source\u00a7

    impl<'a, T: Clone> From<&'a Vec<T>> for Cow<'a, [T]>

    source\u00a7

    fn from(v: &'a Vec<T>) -> Cow<'a, [T]>

    Creates a Borrowed variant of Cow\n+

    1.28.0 \u00b7 source\u00a7

    impl<'a, T: Clone> From<&'a Vec<T>> for Cow<'a, [T]>

    source\u00a7

    fn from(v: &'a Vec<T>) -> Cow<'a, [T]>

    Creates a Borrowed variant of Cow\n from a reference to Vec.

    \n

    This conversion does not allocate or clone the data.

    \n-
    source\u00a7

    impl<'a> From<&'a str> for Cow<'a, str>

    source\u00a7

    fn from(s: &'a str) -> Cow<'a, str>

    Converts a string slice into a Borrowed variant.\n+

    source\u00a7

    impl<'a> From<&'a str> for Cow<'a, str>

    source\u00a7

    fn from(s: &'a str) -> Cow<'a, str>

    Converts a string slice into a Borrowed variant.\n No heap allocation is performed, and the string\n is not copied.

    \n
    \u00a7Example
    \n
    assert_eq!(Cow::from(\"eggplant\"), Cow::Borrowed(\"eggplant\"));
    Run
    \n-
    1.28.0 \u00b7 source\u00a7

    impl<'a> From<CString> for Cow<'a, CStr>

    source\u00a7

    fn from(s: CString) -> Cow<'a, CStr>

    Converts a CString into an owned Cow without copying or allocating.

    \n-
    1.45.0 \u00b7 source\u00a7

    impl<T: Clone> From<Cow<'_, [T]>> for Box<[T]>

    source\u00a7

    fn from(cow: Cow<'_, [T]>) -> Box<[T]>

    Converts a Cow<'_, [T]> into a Box<[T]>

    \n+
    1.28.0 \u00b7 source\u00a7

    impl<'a> From<CString> for Cow<'a, CStr>

    source\u00a7

    fn from(s: CString) -> Cow<'a, CStr>

    Converts a CString into an owned Cow without copying or allocating.

    \n+
    1.45.0 \u00b7 source\u00a7

    impl<T: Clone> From<Cow<'_, [T]>> for Box<[T]>

    source\u00a7

    fn from(cow: Cow<'_, [T]>) -> Box<[T]>

    Converts a Cow<'_, [T]> into a Box<[T]>

    \n

    When cow is the Cow::Borrowed variant, this\n conversion allocates on the heap and copies the\n underlying slice. Otherwise, it will try to reuse the owned\n Vec\u2019s allocation.

    \n-
    1.45.0 \u00b7 source\u00a7

    impl From<Cow<'_, CStr>> for Box<CStr>

    source\u00a7

    fn from(cow: Cow<'_, CStr>) -> Box<CStr>

    Converts a Cow<'a, CStr> into a Box<CStr>,\n+

    1.45.0 \u00b7 source\u00a7

    impl From<Cow<'_, CStr>> for Box<CStr>

    source\u00a7

    fn from(cow: Cow<'_, CStr>) -> Box<CStr>

    Converts a Cow<'a, CStr> into a Box<CStr>,\n by copying the contents if they are borrowed.

    \n-
    1.45.0 \u00b7 source\u00a7

    impl From<Cow<'_, str>> for Box<str>

    source\u00a7

    fn from(cow: Cow<'_, str>) -> Box<str>

    Converts a Cow<'_, str> into a Box<str>

    \n+
    1.45.0 \u00b7 source\u00a7

    impl From<Cow<'_, str>> for Box<str>

    source\u00a7

    fn from(cow: Cow<'_, str>) -> Box<str>

    Converts a Cow<'_, str> into a Box<str>

    \n

    When cow is the Cow::Borrowed variant, this\n conversion allocates on the heap and copies the\n underlying str. Otherwise, it will try to reuse the owned\n String\u2019s allocation.

    \n
    \u00a7Examples
    \n
    use std::borrow::Cow;\n \n let unboxed = Cow::Borrowed(\"hello\");\n let boxed: Box<str> = Box::from(unboxed);\n println!(\"{boxed}\");
    Run
    \n \n
    let unboxed = Cow::Owned(\"hello\".to_string());\n let boxed: Box<str> = Box::from(unboxed);\n println!(\"{boxed}\");
    Run
    \n-
    1.14.0 \u00b7 source\u00a7

    impl<'a, T> From<Cow<'a, [T]>> for Vec<T>
    where\n- [T]: ToOwned<Owned = Vec<T>>,

    source\u00a7

    fn from(s: Cow<'a, [T]>) -> Vec<T>

    Convert a clone-on-write slice into a vector.

    \n+
    1.14.0 \u00b7 source\u00a7

    impl<'a, T> From<Cow<'a, [T]>> for Vec<T>
    where\n+ [T]: ToOwned<Owned = Vec<T>>,

    source\u00a7

    fn from(s: Cow<'a, [T]>) -> Vec<T>

    Convert a clone-on-write slice into a vector.

    \n

    If s already owns a Vec<T>, it will be returned directly.\n If s is borrowing a slice, a new Vec<T> will be allocated and\n filled by cloning s\u2019s items into it.

    \n
    \u00a7Examples
    \n
    let o: Cow<'_, [i32]> = Cow::Owned(vec![1, 2, 3]);\n let b: Cow<'_, [i32]> = Cow::Borrowed(&[1, 2, 3]);\n assert_eq!(Vec::from(o), Vec::from(b));
    Run
    \n-
    1.45.0 \u00b7 source\u00a7

    impl<'a, B> From<Cow<'a, B>> for Arc<B>
    where\n- B: ToOwned + ?Sized,\n- Arc<B>: From<&'a B> + From<B::Owned>,

    source\u00a7

    fn from(cow: Cow<'a, B>) -> Arc<B>

    Create an atomically reference-counted pointer from\n+

    1.45.0 \u00b7 source\u00a7

    impl<'a, B> From<Cow<'a, B>> for Arc<B>
    where\n+ B: ToOwned + ?Sized,\n+ Arc<B>: From<&'a B> + From<B::Owned>,

    source\u00a7

    fn from(cow: Cow<'a, B>) -> Arc<B>

    Create an atomically reference-counted pointer from\n a clone-on-write pointer by copying its content.

    \n
    \u00a7Example
    \n
    let cow: Cow<'_, str> = Cow::Borrowed(\"eggplant\");\n let shared: Arc<str> = Arc::from(cow);\n assert_eq!(\"eggplant\", &shared[..]);
    Run
    \n-
    1.45.0 \u00b7 source\u00a7

    impl<'a, B> From<Cow<'a, B>> for Rc<B>
    where\n- B: ToOwned + ?Sized,\n- Rc<B>: From<&'a B> + From<B::Owned>,

    source\u00a7

    fn from(cow: Cow<'a, B>) -> Rc<B>

    Create a reference-counted pointer from\n+

    1.45.0 \u00b7 source\u00a7

    impl<'a, B> From<Cow<'a, B>> for Rc<B>
    where\n+ B: ToOwned + ?Sized,\n+ Rc<B>: From<&'a B> + From<B::Owned>,

    source\u00a7

    fn from(cow: Cow<'a, B>) -> Rc<B>

    Create a reference-counted pointer from\n a clone-on-write pointer by copying its content.

    \n
    \u00a7Example
    \n
    let cow: Cow<'_, str> = Cow::Borrowed(\"eggplant\");\n let shared: Rc<str> = Rc::from(cow);\n assert_eq!(\"eggplant\", &shared[..]);
    Run
    \n-
    1.28.0 \u00b7 source\u00a7

    impl<'a> From<Cow<'a, CStr>> for CString

    source\u00a7

    fn from(s: Cow<'a, CStr>) -> Self

    Converts a Cow<'a, CStr> into a CString, by copying the contents if they are\n+

    1.28.0 \u00b7 source\u00a7

    impl<'a> From<Cow<'a, CStr>> for CString

    source\u00a7

    fn from(s: Cow<'a, CStr>) -> Self

    Converts a Cow<'a, CStr> into a CString, by copying the contents if they are\n borrowed.

    \n-
    1.14.0 \u00b7 source\u00a7

    impl<'a> From<Cow<'a, str>> for String

    source\u00a7

    fn from(s: Cow<'a, str>) -> String

    Converts a clone-on-write string to an owned\n+

    1.14.0 \u00b7 source\u00a7

    impl<'a> From<Cow<'a, str>> for String

    source\u00a7

    fn from(s: Cow<'a, str>) -> String

    Converts a clone-on-write string to an owned\n instance of String.

    \n

    This extracts the owned string,\n clones the string if it is not already owned.

    \n
    \u00a7Example
    \n
    // If the string is not owned...\n let cow: Cow<'_, str> = Cow::Borrowed(\"eggplant\");\n // It will allocate on the heap and copy the string.\n let owned: String = String::from(cow);\n assert_eq!(&owned[..], \"eggplant\");
    Run
    \n-
    1.22.0 \u00b7 source\u00a7

    impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + 'a>

    source\u00a7

    fn from(err: Cow<'b, str>) -> Box<dyn Error + 'a>

    Converts a Cow into a box of dyn Error.

    \n+
    1.22.0 \u00b7 source\u00a7

    impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + 'a>

    source\u00a7

    fn from(err: Cow<'b, str>) -> Box<dyn Error + 'a>

    Converts a Cow into a box of dyn Error.

    \n
    \u00a7Examples
    \n
    use std::error::Error;\n use std::mem;\n use std::borrow::Cow;\n \n let a_cow_str_error = Cow::from(\"a str error\");\n let a_boxed_error = Box::<dyn Error>::from(a_cow_str_error);\n assert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    Run
    \n-
    1.22.0 \u00b7 source\u00a7

    impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a>

    source\u00a7

    fn from(err: Cow<'b, str>) -> Box<dyn Error + Send + Sync + 'a>

    Converts a Cow into a box of dyn Error + Send + Sync.

    \n+
    1.22.0 \u00b7 source\u00a7

    impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a>

    source\u00a7

    fn from(err: Cow<'b, str>) -> Box<dyn Error + Send + Sync + 'a>

    Converts a Cow into a box of dyn Error + Send + Sync.

    \n
    \u00a7Examples
    \n
    use std::error::Error;\n use std::mem;\n use std::borrow::Cow;\n \n let a_cow_str_error = Cow::from(\"a str error\");\n let a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_cow_str_error);\n assert!(\n     mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    Run
    \n-
    source\u00a7

    impl<'a> From<String> for Cow<'a, str>

    source\u00a7

    fn from(s: String) -> Cow<'a, str>

    Converts a String into an Owned variant.\n+

    source\u00a7

    impl<'a> From<String> for Cow<'a, str>

    source\u00a7

    fn from(s: String) -> Cow<'a, str>

    Converts a String into an Owned variant.\n No heap allocation is performed, and the string\n is not copied.

    \n
    \u00a7Example
    \n
    let s = \"eggplant\".to_string();\n let s2 = \"eggplant\".to_string();\n assert_eq!(Cow::from(s), Cow::<'static, str>::Owned(s2));
    Run
    \n-
    1.8.0 \u00b7 source\u00a7

    impl<'a, T: Clone> From<Vec<T>> for Cow<'a, [T]>

    source\u00a7

    fn from(v: Vec<T>) -> Cow<'a, [T]>

    Creates an Owned variant of Cow\n+

    1.8.0 \u00b7 source\u00a7

    impl<'a, T: Clone> From<Vec<T>> for Cow<'a, [T]>

    source\u00a7

    fn from(v: Vec<T>) -> Cow<'a, [T]>

    Creates an Owned variant of Cow\n from an owned instance of Vec.

    \n

    This conversion does not allocate or clone the data.

    \n-
    1.12.0 \u00b7 source\u00a7

    impl<'a, 'b> FromIterator<&'b str> for Cow<'a, str>

    source\u00a7

    fn from_iter<I: IntoIterator<Item = &'b str>>(it: I) -> Cow<'a, str>

    Creates a value from an iterator. Read more
    1.19.0 \u00b7 source\u00a7

    impl<'a> FromIterator<Cow<'a, str>> for String

    source\u00a7

    fn from_iter<I: IntoIterator<Item = Cow<'a, str>>>(iter: I) -> String

    Creates a value from an iterator. Read more
    1.12.0 \u00b7 source\u00a7

    impl<'a> FromIterator<String> for Cow<'a, str>

    source\u00a7

    fn from_iter<I: IntoIterator<Item = String>>(it: I) -> Cow<'a, str>

    Creates a value from an iterator. Read more
    source\u00a7

    impl<'a, T> FromIterator<T> for Cow<'a, [T]>
    where\n- T: Clone,

    source\u00a7

    fn from_iter<I: IntoIterator<Item = T>>(it: I) -> Cow<'a, [T]>

    Creates a value from an iterator. Read more
    1.12.0 \u00b7 source\u00a7

    impl<'a> FromIterator<char> for Cow<'a, str>

    source\u00a7

    fn from_iter<I: IntoIterator<Item = char>>(it: I) -> Cow<'a, str>

    Creates a value from an iterator. Read more
    source\u00a7

    impl<B> Hash for Cow<'_, B>
    where\n- B: Hash + ToOwned + ?Sized,

    source\u00a7

    fn hash<H: Hasher>(&self, state: &mut H)

    Feeds this value into the given Hasher. Read more
    1.3.0 \u00b7 source\u00a7

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n- H: Hasher,\n- Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source\u00a7

    impl<B> Ord for Cow<'_, B>
    where\n- B: Ord + ToOwned + ?Sized,

    source\u00a7

    fn cmp(&self, other: &Self) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 \u00b7 source\u00a7

    fn max(self, other: Self) -> Self
    where\n- Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 \u00b7 source\u00a7

    fn min(self, other: Self) -> Self
    where\n- Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 \u00b7 source\u00a7

    fn clamp(self, min: Self, max: Self) -> Self
    where\n- Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source\u00a7

    impl<T, U> PartialEq<&[U]> for Cow<'_, [T]>
    where\n- T: PartialEq<U> + Clone,

    source\u00a7

    fn eq(&self, other: &&[U]) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &&[U]) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<T, U> PartialEq<&mut [U]> for Cow<'_, [T]>
    where\n- T: PartialEq<U> + Clone,

    source\u00a7

    fn eq(&self, other: &&mut [U]) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &&mut [U]) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, 'b> PartialEq<&'b str> for Cow<'a, str>

    source\u00a7

    fn eq(&self, other: &&'b str) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &&'b str) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, 'b> PartialEq<Cow<'a, str>> for &'b str

    source\u00a7

    fn eq(&self, other: &Cow<'a, str>) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &Cow<'a, str>) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, 'b> PartialEq<Cow<'a, str>> for String

    source\u00a7

    fn eq(&self, other: &Cow<'a, str>) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &Cow<'a, str>) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, 'b> PartialEq<Cow<'a, str>> for str

    source\u00a7

    fn eq(&self, other: &Cow<'a, str>) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &Cow<'a, str>) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, 'b, B, C> PartialEq<Cow<'b, C>> for Cow<'a, B>
    where\n- B: PartialEq<C> + ToOwned + ?Sized,\n- C: ToOwned + ?Sized,

    source\u00a7

    fn eq(&self, other: &Cow<'b, C>) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, 'b> PartialEq<String> for Cow<'a, str>

    source\u00a7

    fn eq(&self, other: &String) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &String) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<T, U, A: Allocator> PartialEq<Vec<U, A>> for Cow<'_, [T]>
    where\n- T: PartialEq<U> + Clone,

    source\u00a7

    fn eq(&self, other: &Vec<U, A>) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &Vec<U, A>) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, 'b> PartialEq<str> for Cow<'a, str>

    source\u00a7

    fn eq(&self, other: &str) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &str) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, B> PartialOrd for Cow<'a, B>
    where\n- B: PartialOrd + ToOwned + ?Sized,

    source\u00a7

    fn partial_cmp(&self, other: &Cow<'a, B>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source\u00a7

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source\u00a7

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\n-operator. Read more
    source\u00a7

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    source\u00a7

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\n-operator. Read more
    source\u00a7

    impl<B> Eq for Cow<'_, B>
    where\n- B: Eq + ToOwned + ?Sized,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, B: ?Sized> Freeze for Cow<'a, B>
    where\n- <B as ToOwned>::Owned: Freeze,

    \u00a7

    impl<'a, B: ?Sized> RefUnwindSafe for Cow<'a, B>
    where\n- B: RefUnwindSafe,\n- <B as ToOwned>::Owned: RefUnwindSafe,

    \u00a7

    impl<'a, B: ?Sized> Send for Cow<'a, B>
    where\n- B: Sync,\n- <B as ToOwned>::Owned: Send,

    \u00a7

    impl<'a, B: ?Sized> Sync for Cow<'a, B>
    where\n- B: Sync,\n- <B as ToOwned>::Owned: Sync,

    \u00a7

    impl<'a, B: ?Sized> Unpin for Cow<'a, B>
    where\n- <B as ToOwned>::Owned: Unpin,

    \u00a7

    impl<'a, B: ?Sized> UnwindSafe for Cow<'a, B>
    where\n- B: RefUnwindSafe,\n- <B as ToOwned>::Owned: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+
    1.12.0 \u00b7 source\u00a7

    impl<'a, 'b> FromIterator<&'b str> for Cow<'a, str>

    source\u00a7

    fn from_iter<I: IntoIterator<Item = &'b str>>(it: I) -> Cow<'a, str>

    Creates a value from an iterator. Read more
    1.19.0 \u00b7 source\u00a7

    impl<'a> FromIterator<Cow<'a, str>> for String

    source\u00a7

    fn from_iter<I: IntoIterator<Item = Cow<'a, str>>>(iter: I) -> String

    Creates a value from an iterator. Read more
    1.12.0 \u00b7 source\u00a7

    impl<'a> FromIterator<String> for Cow<'a, str>

    source\u00a7

    fn from_iter<I: IntoIterator<Item = String>>(it: I) -> Cow<'a, str>

    Creates a value from an iterator. Read more
    source\u00a7

    impl<'a, T> FromIterator<T> for Cow<'a, [T]>
    where\n+ T: Clone,

    source\u00a7

    fn from_iter<I: IntoIterator<Item = T>>(it: I) -> Cow<'a, [T]>

    Creates a value from an iterator. Read more
    1.12.0 \u00b7 source\u00a7

    impl<'a> FromIterator<char> for Cow<'a, str>

    source\u00a7

    fn from_iter<I: IntoIterator<Item = char>>(it: I) -> Cow<'a, str>

    Creates a value from an iterator. Read more
    source\u00a7

    impl<B> Hash for Cow<'_, B>
    where\n+ B: Hash + ToOwned + ?Sized,

    source\u00a7

    fn hash<H: Hasher>(&self, state: &mut H)

    Feeds this value into the given Hasher. Read more
    1.3.0 \u00b7 source\u00a7

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n+ H: Hasher,\n+ Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source\u00a7

    impl<B> Ord for Cow<'_, B>
    where\n+ B: Ord + ToOwned + ?Sized,

    source\u00a7

    fn cmp(&self, other: &Self) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 \u00b7 source\u00a7

    fn max(self, other: Self) -> Self
    where\n+ Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 \u00b7 source\u00a7

    fn min(self, other: Self) -> Self
    where\n+ Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 \u00b7 source\u00a7

    fn clamp(self, min: Self, max: Self) -> Self
    where\n+ Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source\u00a7

    impl<T, U> PartialEq<&[U]> for Cow<'_, [T]>
    where\n+ T: PartialEq<U> + Clone,

    source\u00a7

    fn eq(&self, other: &&[U]) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &&[U]) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<T, U> PartialEq<&mut [U]> for Cow<'_, [T]>
    where\n+ T: PartialEq<U> + Clone,

    source\u00a7

    fn eq(&self, other: &&mut [U]) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &&mut [U]) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, 'b> PartialEq<&'b str> for Cow<'a, str>

    source\u00a7

    fn eq(&self, other: &&'b str) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &&'b str) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, 'b> PartialEq<Cow<'a, str>> for &'b str

    source\u00a7

    fn eq(&self, other: &Cow<'a, str>) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &Cow<'a, str>) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, 'b> PartialEq<Cow<'a, str>> for String

    source\u00a7

    fn eq(&self, other: &Cow<'a, str>) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &Cow<'a, str>) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, 'b> PartialEq<Cow<'a, str>> for str

    source\u00a7

    fn eq(&self, other: &Cow<'a, str>) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &Cow<'a, str>) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, 'b, B, C> PartialEq<Cow<'b, C>> for Cow<'a, B>
    where\n+ B: PartialEq<C> + ToOwned + ?Sized,\n+ C: ToOwned + ?Sized,

    source\u00a7

    fn eq(&self, other: &Cow<'b, C>) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, 'b> PartialEq<String> for Cow<'a, str>

    source\u00a7

    fn eq(&self, other: &String) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &String) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<T, U, A: Allocator> PartialEq<Vec<U, A>> for Cow<'_, [T]>
    where\n+ T: PartialEq<U> + Clone,

    source\u00a7

    fn eq(&self, other: &Vec<U, A>) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &Vec<U, A>) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, 'b> PartialEq<str> for Cow<'a, str>

    source\u00a7

    fn eq(&self, other: &str) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &str) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, B> PartialOrd for Cow<'a, B>
    where\n+ B: PartialOrd + ToOwned + ?Sized,

    source\u00a7

    fn partial_cmp(&self, other: &Cow<'a, B>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source\u00a7

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source\u00a7

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\n+operator. Read more
    source\u00a7

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    source\u00a7

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\n+operator. Read more
    source\u00a7

    impl<B> Eq for Cow<'_, B>
    where\n+ B: Eq + ToOwned + ?Sized,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, B: ?Sized> Freeze for Cow<'a, B>
    where\n+ <B as ToOwned>::Owned: Freeze,

    \u00a7

    impl<'a, B: ?Sized> RefUnwindSafe for Cow<'a, B>
    where\n+ B: RefUnwindSafe,\n+ <B as ToOwned>::Owned: RefUnwindSafe,

    \u00a7

    impl<'a, B: ?Sized> Send for Cow<'a, B>
    where\n+ B: Sync,\n+ <B as ToOwned>::Owned: Send,

    \u00a7

    impl<'a, B: ?Sized> Sync for Cow<'a, B>
    where\n+ B: Sync,\n+ <B as ToOwned>::Owned: Sync,

    \u00a7

    impl<'a, B: ?Sized> Unpin for Cow<'a, B>
    where\n+ <B as ToOwned>::Owned: Unpin,

    \u00a7

    impl<'a, B: ?Sized> UnwindSafe for Cow<'a, B>
    where\n+ B: RefUnwindSafe,\n+ <B as ToOwned>::Owned: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n- T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n+ T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/borrow/trait.Borrow.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/borrow/trait.Borrow.html", "unified_diff": "@@ -1,21 +1,21 @@\n Borrow in alloc::borrow - Rust
    \n-

    Trait alloc::borrow::Borrow

    1.0.0 \u00b7 source \u00b7
    pub trait Borrow<Borrowed>
    where\n- Borrowed: ?Sized,
    {\n+

    Trait alloc::borrow::Borrow

    1.0.0 \u00b7 source \u00b7
    pub trait Borrow<Borrowed>
    where\n+ Borrowed: ?Sized,
    {\n // Required method\n- fn borrow(&self) -> &Borrowed;\n+ fn borrow(&self) -> &Borrowed;\n }
    Expand description

    A trait for borrowing data.

    \n

    In Rust, it is common to provide different representations of a type for\n different use cases. For instance, storage location and management for a\n value can be specifically chosen as appropriate for a particular use via\n pointer types such as Box<T> or Rc<T>. Beyond these generic\n wrappers that can be used with any type, some types provide optional\n facets providing potentially costly functionality. An example for such a\n type is String which adds the ability to extend a string to the basic\n-str. This requires keeping additional information unnecessary for a\n+str. This requires keeping additional information unnecessary for a\n simple, immutable string.

    \n

    These types provide access to the underlying data through references\n to the type of that data. They are said to be \u2018borrowed as\u2019 that type.\n For instance, a Box<T> can be borrowed as T while a String\n can be borrowed as str.

    \n

    Types express that they can be borrowed as some type T by implementing\n Borrow<T>, providing a reference to a T in the trait\u2019s\n@@ -29,22 +29,22 @@\n on the identical behavior of these additional trait implementations.\n These traits will likely appear as additional trait bounds.

    \n

    In particular Eq, Ord and Hash must be equivalent for\n borrowed and owned values: x.borrow() == y.borrow() should give the\n same result as x == y.

    \n

    If generic code merely needs to work for all types that can\n provide a reference to related type T, it is often better to use\n-AsRef<T> as more types can safely implement it.

    \n+AsRef<T> as more types can safely implement it.

    \n

    \u00a7Examples

    \n

    As a data collection, HashMap<K, V> owns both keys and values. If\n the key\u2019s actual data is wrapped in a managing type of some kind, it\n should, however, still be possible to search for a value using a\n reference to the key\u2019s data. For instance, if the key is a string, then\n it is likely stored with the hash map as a String, while it should\n-be possible to search using a &str. Thus, insert needs to\n+be possible to search using a &str. Thus, insert needs to\n operate on a String while get needs to be able to use a &str.

    \n

    Slightly simplified, the relevant parts of HashMap<K, V> look like\n this:

    \n \n
    use std::borrow::Borrow;\n use std::hash::Hash;\n \n@@ -112,27 +112,27 @@\n }
    Run
    \n

    Can CaseInsensitiveString implement Borrow<str>? It certainly can\n provide a reference to a string slice via its contained owned string.\n But because its Hash implementation differs, it behaves differently\n from str and therefore must not, in fact, implement Borrow<str>.\n If it wants to allow others access to the underlying str, it can do\n that via AsRef<str> which doesn\u2019t carry any extra requirements.

    \n-

    Required Methods\u00a7

    source

    fn borrow(&self) -> &Borrowed

    Immutably borrows from an owned value.

    \n+

    Required Methods\u00a7

    source

    fn borrow(&self) -> &Borrowed

    Immutably borrows from an owned value.

    \n
    \u00a7Examples
    \n
    use std::borrow::Borrow;\n \n fn check<T: Borrow<str>>(s: T) {\n     assert_eq!(\"Hello\", s.borrow());\n }\n \n let s = \"Hello\".to_string();\n \n check(s);\n \n let s = \"Hello\";\n \n check(s);
    Run
    \n-

    Implementors\u00a7

    source\u00a7

    impl Borrow<str> for String

    1.3.0 \u00b7 source\u00a7

    impl Borrow<CStr> for CString

    source\u00a7

    impl<'a, B> Borrow<B> for Cow<'a, B>
    where\n- B: ToOwned + ?Sized,

    source\u00a7

    impl<T> Borrow<T> for &T
    where\n- T: ?Sized,

    source\u00a7

    impl<T> Borrow<T> for &mut T
    where\n- T: ?Sized,

    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    impl<T, A: Allocator> Borrow<[T]> for Vec<T, A>

    1.4.0 \u00b7 source\u00a7

    impl<T, const N: usize> Borrow<[T]> for [T; N]

    1.1.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Borrow<T> for Box<T, A>

    source\u00a7

    impl<T: ?Sized, A: Allocator> Borrow<T> for Rc<T, A>

    source\u00a7

    impl<T: ?Sized, A: Allocator> Borrow<T> for Arc<T, A>

    \n+

    Implementors\u00a7

    source\u00a7

    impl Borrow<str> for String

    1.3.0 \u00b7 source\u00a7

    impl Borrow<CStr> for CString

    source\u00a7

    impl<'a, B> Borrow<B> for Cow<'a, B>
    where\n+ B: ToOwned + ?Sized,

    source\u00a7

    impl<T> Borrow<T> for &T
    where\n+ T: ?Sized,

    source\u00a7

    impl<T> Borrow<T> for &mut T
    where\n+ T: ?Sized,

    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    impl<T, A: Allocator> Borrow<[T]> for Vec<T, A>

    1.4.0 \u00b7 source\u00a7

    impl<T, const N: usize> Borrow<[T]> for [T; N]

    1.1.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Borrow<T> for Box<T, A>

    source\u00a7

    impl<T: ?Sized, A: Allocator> Borrow<T> for Rc<T, A>

    source\u00a7

    impl<T: ?Sized, A: Allocator> Borrow<T> for Arc<T, A>

    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/borrow/trait.BorrowMut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/borrow/trait.BorrowMut.html", "unified_diff": "@@ -1,23 +1,23 @@\n BorrowMut in alloc::borrow - Rust
    \n-

    Trait alloc::borrow::BorrowMut

    1.0.0 \u00b7 source \u00b7
    pub trait BorrowMut<Borrowed>: Borrow<Borrowed>
    where\n- Borrowed: ?Sized,
    {\n+

    Trait alloc::borrow::BorrowMut

    1.0.0 \u00b7 source \u00b7
    pub trait BorrowMut<Borrowed>: Borrow<Borrowed>
    where\n+ Borrowed: ?Sized,
    {\n // Required method\n- fn borrow_mut(&mut self) -> &mut Borrowed;\n+ fn borrow_mut(&mut self) -> &mut Borrowed;\n }
    Expand description

    A trait for mutably borrowing data.

    \n

    As a companion to Borrow<T> this trait allows a type to borrow as\n an underlying type by providing a mutable reference. See Borrow<T>\n for more information on borrowing as another type.

    \n-

    Required Methods\u00a7

    source

    fn borrow_mut(&mut self) -> &mut Borrowed

    Mutably borrows from an owned value.

    \n+

    Required Methods\u00a7

    source

    fn borrow_mut(&mut self) -> &mut Borrowed

    Mutably borrows from an owned value.

    \n
    \u00a7Examples
    \n
    use std::borrow::BorrowMut;\n \n fn check<T: BorrowMut<[i32]>>(mut v: T) {\n     assert_eq!(&mut [1, 2, 3], v.borrow_mut());\n }\n \n let v = vec![1, 2, 3];\n \n check(v);
    Run
    \n-

    Implementors\u00a7

    1.36.0 \u00b7 source\u00a7

    impl BorrowMut<str> for String

    source\u00a7

    impl<T> BorrowMut<T> for &mut T
    where\n- T: ?Sized,

    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    impl<T, A: Allocator> BorrowMut<[T]> for Vec<T, A>

    1.4.0 \u00b7 source\u00a7

    impl<T, const N: usize> BorrowMut<[T]> for [T; N]

    1.1.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> BorrowMut<T> for Box<T, A>

    \n+

    Implementors\u00a7

    1.36.0 \u00b7 source\u00a7

    impl BorrowMut<str> for String

    source\u00a7

    impl<T> BorrowMut<T> for &mut T
    where\n+ T: ?Sized,

    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    impl<T, A: Allocator> BorrowMut<[T]> for Vec<T, A>

    1.4.0 \u00b7 source\u00a7

    impl<T, const N: usize> BorrowMut<[T]> for [T; N]

    1.1.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> BorrowMut<T> for Box<T, A>

    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/borrow/trait.ToOwned.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/borrow/trait.ToOwned.html", "unified_diff": "@@ -19,18 +19,18 @@\n \n
    let s: &str = \"a\";\n let ss: String = s.to_owned();\n \n let v: &[i32] = &[1, 2];\n let vv: Vec<i32> = v.to_owned();
    Run
    \n

    Provided Methods\u00a7

    1.63.0 \u00b7 source

    fn clone_into(&self, target: &mut Self::Owned)

    Uses borrowed data to replace owned data, usually by cloning.

    \n-

    This is borrow-generalized version of Clone::clone_from.

    \n+

    This is borrow-generalized version of Clone::clone_from.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    let mut s: String = String::new();\n \"hello\".clone_into(&mut s);\n \n let mut v: Vec<i32> = Vec::new();\n [1, 2][..].clone_into(&mut v);
    Run
    \n-

    Object Safety\u00a7

    This trait is not object safe.

    Implementors\u00a7

    source\u00a7

    impl ToOwned for str

    1.3.0 \u00b7 source\u00a7

    impl ToOwned for CStr

    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    source\u00a7

    impl<T: Clone> ToOwned for [T]

    \u00a7

    type Owned = Vec<T>

    \n+

    Object Safety\u00a7

    This trait is not object safe.

    Implementors\u00a7

    source\u00a7

    impl ToOwned for str

    1.3.0 \u00b7 source\u00a7

    impl ToOwned for CStr

    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    source\u00a7

    impl<T: Clone> ToOwned for [T]

    \u00a7

    type Owned = Vec<T>

    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/boxed/index.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/boxed/index.html", "unified_diff": "@@ -5,15 +5,15 @@\n drop their contents when they go out of scope. Boxes also ensure that they\n never allocate more than isize::MAX bytes.

    \n

    \u00a7Examples

    \n

    Move a value from the stack to the heap by creating a Box:

    \n \n
    let val: u8 = 5;\n let boxed: Box<u8> = Box::new(val);
    Run
    \n-

    Move a value from a Box back to the stack by dereferencing:

    \n+

    Move a value from a Box back to the stack by dereferencing:

    \n \n
    let boxed: Box<u8> = Box::new(5);\n let val: u8 = *boxed;
    Run
    \n

    Creating a recursive data structure:

    \n \n
    #[allow(dead_code)]\n #[derive(Debug)]\n@@ -38,20 +38,20 @@\n its allocation. It is valid to convert both ways between a Box and a\n raw pointer allocated with the Global allocator, given that the\n Layout used with the allocator is correct for the type. More precisely,\n a value: *mut T that has been allocated with the Global allocator\n with Layout::for_value(&*value) may be converted into a box using\n Box::<T>::from_raw(value). Conversely, the memory backing a value: *mut T obtained from Box::<T>::into_raw may be deallocated using the\n Global allocator with Layout::for_value(&*value).

    \n-

    For zero-sized values, the Box pointer still has to be valid for reads\n+

    For zero-sized values, the Box pointer still has to be valid for reads\n and writes and sufficiently aligned. In particular, casting any aligned\n non-zero integer literal to a raw pointer produces a valid pointer, but a\n pointer pointing into previously allocated memory that since got freed is\n not valid. The recommended way to build a Box to a ZST if Box::new cannot\n-be used is to use ptr::NonNull::dangling.

    \n+be used is to use ptr::NonNull::dangling.

    \n

    So long as T: Sized, a Box<T> is guaranteed to be represented\n as a single pointer and is also ABI-compatible with C pointers\n (i.e. the C type T*). This means that if you have extern \u201cC\u201d\n Rust functions that will be called from C, you can define those\n Rust functions using Box<T> types, and use T* as corresponding\n type on the C side. As an example, consider this C header which\n declares functions that create and destroy some kind of Foo\n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/boxed/struct.Box.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/boxed/struct.Box.html", "unified_diff": "@@ -1,70 +1,70 @@\n Box in alloc::boxed - Rust

    \n-

    Struct alloc::boxed::Box

    1.0.0 \u00b7 source \u00b7
    pub struct Box<T: ?Sized, A: Allocator = Global>(/* private fields */);
    Expand description

    A pointer type that uniquely owns a heap allocation of type T.

    \n+

    Struct alloc::boxed::Box

    1.0.0 \u00b7 source \u00b7
    pub struct Box<T: ?Sized, A: Allocator = Global>(/* private fields */);
    Expand description

    A pointer type that uniquely owns a heap allocation of type T.

    \n

    See the module-level documentation for more.

    \n

    Implementations\u00a7

    source\u00a7

    impl<T> Box<T>

    source

    pub fn new(x: T) -> Self

    Allocates memory on the heap and then places x into it.

    \n

    This doesn\u2019t actually allocate if T is zero-sized.

    \n
    \u00a7Examples
    \n
    let five = Box::new(5);
    Run
    \n-
    source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new box with uninitialized contents.

    \n+
    source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new box with uninitialized contents.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n \n let mut five = Box::<u32>::new_uninit();\n \n let five = unsafe {\n     // Deferred initialization:\n     five.as_mut_ptr().write(5);\n \n     five.assume_init()\n };\n \n assert_eq!(*five, 5)
    Run
    \n-
    source

    pub fn new_zeroed() -> Box<MaybeUninit<T>>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new Box with uninitialized contents, with the memory\n+

    source

    pub fn new_zeroed() -> Box<MaybeUninit<T>>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new Box with uninitialized contents, with the memory\n being filled with 0 bytes.

    \n-

    See MaybeUninit::zeroed for examples of correct and incorrect usage\n+

    See MaybeUninit::zeroed for examples of correct and incorrect usage\n of this method.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n \n let zero = Box::<u32>::new_zeroed();\n let zero = unsafe { zero.assume_init() };\n \n assert_eq!(*zero, 0)
    Run
    \n-
    1.33.0 \u00b7 source

    pub fn pin(x: T) -> Pin<Box<T>>

    Constructs a new Pin<Box<T>>. If T does not implement Unpin, then\n+

    1.33.0 \u00b7 source

    pub fn pin(x: T) -> Pin<Box<T>>

    Constructs a new Pin<Box<T>>. If T does not implement Unpin, then\n x will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin(x)\n does the same as Box::into_pin(Box::new(x)). Consider using\n into_pin if you already have a Box<T>, or if you want to\n construct a (pinned) Box in a different way than with Box::new.

    \n-
    source

    pub fn try_new(x: T) -> Result<Self, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Allocates memory on the heap then places x into it,\n+

    source

    pub fn try_new(x: T) -> Result<Self, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Allocates memory on the heap then places x into it,\n returning an error if the allocation fails

    \n

    This doesn\u2019t actually allocate if T is zero-sized.

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api)]\n \n let five = Box::try_new(5)?;
    Run
    \n-
    source

    pub fn try_new_uninit() -> Result<Box<MaybeUninit<T>>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new box with uninitialized contents on the heap,\n+

    source

    pub fn try_new_uninit() -> Result<Box<MaybeUninit<T>>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new box with uninitialized contents on the heap,\n returning an error if the allocation fails

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api, new_uninit)]\n \n let mut five = Box::<u32>::try_new_uninit()?;\n \n let five = unsafe {\n     // Deferred initialization:\n     five.as_mut_ptr().write(5);\n \n     five.assume_init()\n };\n \n assert_eq!(*five, 5);
    Run
    \n-
    source

    pub fn try_new_zeroed() -> Result<Box<MaybeUninit<T>>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Box with uninitialized contents, with the memory\n+

    source

    pub fn try_new_zeroed() -> Result<Box<MaybeUninit<T>>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Box with uninitialized contents, with the memory\n being filled with 0 bytes on the heap

    \n-

    See MaybeUninit::zeroed for examples of correct and incorrect usage\n+

    See MaybeUninit::zeroed for examples of correct and incorrect usage\n of this method.

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api, new_uninit)]\n \n let zero = Box::<u32>::try_new_zeroed()?;\n let zero = unsafe { zero.assume_init() };\n \n@@ -74,25 +74,25 @@\n 

    This doesn\u2019t actually allocate if T is zero-sized.

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api)]\n \n use std::alloc::System;\n \n let five = Box::new_in(5, System);
    Run
    \n-
    source

    pub fn try_new_in(x: T, alloc: A) -> Result<Self, AllocError>
    where\n+

    source

    pub fn try_new_in(x: T, alloc: A) -> Result<Self, AllocError>
    where\n A: Allocator,

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Allocates memory in the given allocator then places x into it,\n returning an error if the allocation fails

    \n

    This doesn\u2019t actually allocate if T is zero-sized.

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api)]\n \n use std::alloc::System;\n \n let five = Box::try_new_in(5, System)?;
    Run
    \n-
    source

    pub fn new_uninit_in(alloc: A) -> Box<MaybeUninit<T>, A>
    where\n+

    source

    pub fn new_uninit_in(alloc: A) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new box with uninitialized contents in the provided allocator.

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api, new_uninit)]\n \n use std::alloc::System;\n \n let mut five = Box::<u32, _>::new_uninit_in(System);\n@@ -101,15 +101,15 @@\n     // Deferred initialization:\n     five.as_mut_ptr().write(5);\n \n     five.assume_init()\n };\n \n assert_eq!(*five, 5)
    Run
    \n-
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n+

    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new box with uninitialized contents in the provided allocator,\n returning an error if the allocation fails

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api, new_uninit)]\n \n use std::alloc::System;\n \n@@ -119,60 +119,60 @@\n     // Deferred initialization:\n     five.as_mut_ptr().write(5);\n \n     five.assume_init()\n };\n \n assert_eq!(*five, 5);
    Run
    \n-
    source

    pub fn new_zeroed_in(alloc: A) -> Box<MaybeUninit<T>, A>
    where\n+

    source

    pub fn new_zeroed_in(alloc: A) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Box with uninitialized contents, with the memory\n being filled with 0 bytes in the provided allocator.

    \n-

    See MaybeUninit::zeroed for examples of correct and incorrect usage\n+

    See MaybeUninit::zeroed for examples of correct and incorrect usage\n of this method.

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api, new_uninit)]\n \n use std::alloc::System;\n \n let zero = Box::<u32, _>::new_zeroed_in(System);\n let zero = unsafe { zero.assume_init() };\n \n assert_eq!(*zero, 0)
    Run
    \n-
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n+

    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Box with uninitialized contents, with the memory\n being filled with 0 bytes in the provided allocator,\n returning an error if the allocation fails,

    \n-

    See MaybeUninit::zeroed for examples of correct and incorrect usage\n+

    See MaybeUninit::zeroed for examples of correct and incorrect usage\n of this method.

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api, new_uninit)]\n \n use std::alloc::System;\n \n let zero = Box::<u32, _>::try_new_zeroed_in(System)?;\n let zero = unsafe { zero.assume_init() };\n \n assert_eq!(*zero, 0);
    Run
    \n-
    source

    pub fn pin_in(x: T, alloc: A) -> Pin<Self>
    where\n- A: 'static + Allocator,

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Pin<Box<T, A>>. If T does not implement Unpin, then\n+

    source

    pub fn pin_in(x: T, alloc: A) -> Pin<Self>
    where\n+ A: 'static + Allocator,

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Pin<Box<T, A>>. If T does not implement Unpin, then\n x will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin_in(x, alloc)\n does the same as Box::into_pin(Box::new_in(x, alloc)). Consider using\n into_pin if you already have a Box<T, A>, or if you want to\n construct a (pinned) Box in a different way than with Box::new_in.

    \n-
    source

    pub fn into_boxed_slice(boxed: Self) -> Box<[T], A>

    \ud83d\udd2cThis is a nightly-only experimental API. (box_into_boxed_slice #71582)

    Converts a Box<T> into a Box<[T]>

    \n+
    source

    pub fn into_boxed_slice(boxed: Self) -> Box<[T], A>

    \ud83d\udd2cThis is a nightly-only experimental API. (box_into_boxed_slice #71582)

    Converts a Box<T> into a Box<[T]>

    \n

    This conversion does not allocate on the heap and happens in place.

    \n
    source

    pub fn into_inner(boxed: Self) -> T

    \ud83d\udd2cThis is a nightly-only experimental API. (box_into_inner #80437)

    Consumes the Box, returning the wrapped value.

    \n
    \u00a7Examples
    \n
    #![feature(box_into_inner)]\n \n let c = Box::new(5);\n \n assert_eq!(Box::into_inner(c), 5);
    Run
    \n-
    source\u00a7

    impl<T> Box<[T]>

    source

    pub fn new_uninit_slice(len: usize) -> Box<[MaybeUninit<T>]>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new boxed slice with uninitialized contents.

    \n+
    source\u00a7

    impl<T> Box<[T]>

    source

    pub fn new_uninit_slice(len: usize) -> Box<[MaybeUninit<T>]>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new boxed slice with uninitialized contents.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n \n let mut values = Box::<[u32]>::new_uninit_slice(3);\n \n let values = unsafe {\n     // Deferred initialization:\n@@ -180,28 +180,28 @@\n     values[1].as_mut_ptr().write(2);\n     values[2].as_mut_ptr().write(3);\n \n     values.assume_init()\n };\n \n assert_eq!(*values, [1, 2, 3])
    Run
    \n-
    source

    pub fn new_zeroed_slice(len: usize) -> Box<[MaybeUninit<T>]>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new boxed slice with uninitialized contents, with the memory\n+

    source

    pub fn new_zeroed_slice(len: usize) -> Box<[MaybeUninit<T>]>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new boxed slice with uninitialized contents, with the memory\n being filled with 0 bytes.

    \n-

    See MaybeUninit::zeroed for examples of correct and incorrect usage\n+

    See MaybeUninit::zeroed for examples of correct and incorrect usage\n of this method.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n \n let values = Box::<[u32]>::new_zeroed_slice(3);\n let values = unsafe { values.assume_init() };\n \n assert_eq!(*values, [0, 0, 0])
    Run
    \n
    source

    pub fn try_new_uninit_slice(\n- len: usize\n-) -> Result<Box<[MaybeUninit<T>]>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new boxed slice with uninitialized contents. Returns an error if\n+ len: usize\n+) -> Result<Box<[MaybeUninit<T>]>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new boxed slice with uninitialized contents. Returns an error if\n the allocation fails

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api, new_uninit)]\n \n let mut values = Box::<[u32]>::try_new_uninit_slice(3)?;\n let values = unsafe {\n     // Deferred initialization:\n@@ -209,27 +209,27 @@\n     values[1].as_mut_ptr().write(2);\n     values[2].as_mut_ptr().write(3);\n     values.assume_init()\n };\n \n assert_eq!(*values, [1, 2, 3]);
    Run
    \n
    source

    pub fn try_new_zeroed_slice(\n- len: usize\n-) -> Result<Box<[MaybeUninit<T>]>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new boxed slice with uninitialized contents, with the memory\n+ len: usize\n+) -> Result<Box<[MaybeUninit<T>]>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new boxed slice with uninitialized contents, with the memory\n being filled with 0 bytes. Returns an error if the allocation fails

    \n-

    See MaybeUninit::zeroed for examples of correct and incorrect usage\n+

    See MaybeUninit::zeroed for examples of correct and incorrect usage\n of this method.

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api, new_uninit)]\n \n let values = Box::<[u32]>::try_new_zeroed_slice(3)?;\n let values = unsafe { values.assume_init() };\n \n assert_eq!(*values, [0, 0, 0]);
    Run
    \n-
    source\u00a7

    impl<T, A: Allocator> Box<[T], A>

    source

    pub fn new_uninit_slice_in(len: usize, alloc: A) -> Box<[MaybeUninit<T>], A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new boxed slice with uninitialized contents in the provided allocator.

    \n+
    source\u00a7

    impl<T, A: Allocator> Box<[T], A>

    source

    pub fn new_uninit_slice_in(len: usize, alloc: A) -> Box<[MaybeUninit<T>], A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new boxed slice with uninitialized contents in the provided allocator.

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api, new_uninit)]\n \n use std::alloc::System;\n \n let mut values = Box::<[u32], _>::new_uninit_slice_in(3, System);\n \n@@ -239,30 +239,30 @@\n     values[1].as_mut_ptr().write(2);\n     values[2].as_mut_ptr().write(3);\n \n     values.assume_init()\n };\n \n assert_eq!(*values, [1, 2, 3])
    Run
    \n-
    source

    pub fn new_zeroed_slice_in(len: usize, alloc: A) -> Box<[MaybeUninit<T>], A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new boxed slice with uninitialized contents in the provided allocator,\n+

    source

    pub fn new_zeroed_slice_in(len: usize, alloc: A) -> Box<[MaybeUninit<T>], A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new boxed slice with uninitialized contents in the provided allocator,\n with the memory being filled with 0 bytes.

    \n-

    See MaybeUninit::zeroed for examples of correct and incorrect usage\n+

    See MaybeUninit::zeroed for examples of correct and incorrect usage\n of this method.

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api, new_uninit)]\n \n use std::alloc::System;\n \n let values = Box::<[u32], _>::new_zeroed_slice_in(3, System);\n let values = unsafe { values.assume_init() };\n \n assert_eq!(*values, [0, 0, 0])
    Run
    \n-
    source\u00a7

    impl<T, A: Allocator> Box<MaybeUninit<T>, A>

    source

    pub unsafe fn assume_init(self) -> Box<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Converts to Box<T, A>.

    \n+
    source\u00a7

    impl<T, A: Allocator> Box<MaybeUninit<T>, A>

    source

    pub unsafe fn assume_init(self) -> Box<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Converts to Box<T, A>.

    \n
    \u00a7Safety
    \n-

    As with MaybeUninit::assume_init,\n+

    As with MaybeUninit::assume_init,\n it is up to the caller to guarantee that the value\n really is in an initialized state.\n Calling this when the content is not yet fully initialized\n causes immediate undefined behavior.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n \n@@ -294,17 +294,17 @@\n // The optimizer may be able to elide this copy, so previous code writes\n // to heap directly.\n let big_box = Box::write(big_box, array);\n \n for (i, x) in big_box.iter().enumerate() {\n     assert_eq!(*x, i);\n }
    Run
    \n-
    source\u00a7

    impl<T, A: Allocator> Box<[MaybeUninit<T>], A>

    source

    pub unsafe fn assume_init(self) -> Box<[T], A>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Converts to Box<[T], A>.

    \n+
    source\u00a7

    impl<T, A: Allocator> Box<[MaybeUninit<T>], A>

    source

    pub unsafe fn assume_init(self) -> Box<[T], A>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Converts to Box<[T], A>.

    \n
    \u00a7Safety
    \n-

    As with MaybeUninit::assume_init,\n+

    As with MaybeUninit::assume_init,\n it is up to the caller to guarantee that the values\n really are in an initialized state.\n Calling this when the content is not yet fully initialized\n causes immediate undefined behavior.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n \n@@ -316,15 +316,15 @@\n     values[1].as_mut_ptr().write(2);\n     values[2].as_mut_ptr().write(3);\n \n     values.assume_init()\n };\n \n assert_eq!(*values, [1, 2, 3])
    Run
    \n-
    source\u00a7

    impl<T: ?Sized> Box<T>

    1.4.0 \u00b7 source

    pub unsafe fn from_raw(raw: *mut T) -> Self

    Constructs a box from a raw pointer.

    \n+
    source\u00a7

    impl<T: ?Sized> Box<T>

    1.4.0 \u00b7 source

    pub unsafe fn from_raw(raw: *mut T) -> Self

    Constructs a box from a raw pointer.

    \n

    After calling this function, the raw pointer is owned by the\n resulting Box. Specifically, the Box destructor will call\n the destructor of T and free the allocated memory. For this\n to be safe, the memory must have been allocated in accordance\n with the memory layout used by Box .

    \n
    \u00a7Safety
    \n

    This function is unsafe because improper use may lead to\n@@ -346,15 +346,15 @@\n let ptr = alloc(Layout::new::<i32>()) as *mut i32;\n // In general .write is required to avoid attempting to destruct\n // the (uninitialized) previous contents of `ptr`, though for this\n // simple example `*ptr = 5` would have worked as well.\n ptr.write(5);\n let x = Box::from_raw(ptr);\n }

    Run
    \n-
    source\u00a7

    impl<T: ?Sized, A: Allocator> Box<T, A>

    const: unstable \u00b7 source

    pub unsafe fn from_raw_in(raw: *mut T, alloc: A) -> Self

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a box from a raw pointer in the given allocator.

    \n+
    source\u00a7

    impl<T: ?Sized, A: Allocator> Box<T, A>

    const: unstable \u00b7 source

    pub unsafe fn from_raw_in(raw: *mut T, alloc: A) -> Self

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a box from a raw pointer in the given allocator.

    \n

    After calling this function, the raw pointer is owned by the\n resulting Box. Specifically, the Box destructor will call\n the destructor of T and free the allocated memory. For this\n to be safe, the memory must have been allocated in accordance\n with the memory layout used by Box .

    \n
    \u00a7Safety
    \n

    This function is unsafe because improper use may lead to\n@@ -381,15 +381,15 @@\n let ptr = System.allocate(Layout::new::<i32>())?.as_mut_ptr() as *mut i32;\n // In general .write is required to avoid attempting to destruct\n // the (uninitialized) previous contents of `ptr`, though for this\n // simple example `*ptr = 5` would have worked as well.\n ptr.write(5);\n let x = Box::from_raw_in(ptr, System);\n }Run

    \n-
    1.4.0 \u00b7 source

    pub fn into_raw(b: Self) -> *mut T

    Consumes the Box, returning a wrapped raw pointer.

    \n+
    1.4.0 \u00b7 source

    pub fn into_raw(b: Self) -> *mut T

    Consumes the Box, returning a wrapped raw pointer.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\n memory previously managed by the Box. In particular, the\n caller should properly destroy T and release the memory, taking\n into account the memory layout used by Box. The easiest way to\n do this is to convert the raw pointer back into a Box with the\n Box::from_raw function, allowing the Box destructor to perform\n@@ -419,15 +419,15 @@\n

    Note: This is equivalent to the following:

    \n \n
    let x = Box::new(String::from(\"Hello\"));\n let ptr = Box::into_raw(x);\n unsafe {\n     drop(Box::from_raw(ptr));\n }
    Run
    \n-
    source

    pub fn into_raw_with_allocator(b: Self) -> (*mut T, A)

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Consumes the Box, returning a wrapped raw pointer and the allocator.

    \n+
    source

    pub fn into_raw_with_allocator(b: Self) -> (*mut T, A)

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Consumes the Box, returning a wrapped raw pointer and the allocator.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\n memory previously managed by the Box. In particular, the\n caller should properly destroy T and release the memory, taking\n into account the memory layout used by Box. The easiest way to\n do this is to convert the raw pointer back into a Box with the\n Box::from_raw_in function, allowing the Box destructor to perform\n@@ -457,19 +457,19 @@\n let x = Box::new_in(String::from(\"Hello\"), System);\n let (ptr, alloc) = Box::into_raw_with_allocator(x);\n unsafe {\n ptr::drop_in_place(ptr);\n let non_null = NonNull::new_unchecked(ptr);\n alloc.deallocate(non_null.cast(), Layout::new::<String>());\n }Run

    \n-
    const: unstable \u00b7 source

    pub fn allocator(b: &Self) -> &A

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Returns a reference to the underlying allocator.

    \n+
    const: unstable \u00b7 source

    pub fn allocator(b: &Self) -> &A

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\n to call it as Box::allocator(&b) instead of b.allocator(). This\n is so that there is no conflict with a method on the inner type.

    \n-
    1.26.0 \u00b7 source

    pub fn leak<'a>(b: Self) -> &'a mut T
    where\n+

    1.26.0 \u00b7 source

    pub fn leak<'a>(b: Self) -> &'a mut T
    where\n A: 'a,

    Consumes and leaks the Box, returning a mutable reference,\n &'a mut T. Note that the type T must outlive the chosen lifetime\n 'a. If the type has only static references, or none at all, then this\n may be chosen to be 'static.

    \n

    This function is mainly useful for data that lives for the remainder of\n the program\u2019s life. Dropping the returned reference will cause a memory\n leak. If this is not acceptable, the reference should first be wrapped\n@@ -488,19 +488,19 @@\n assert_eq!(*static_ref, 42);Run

    \n

    Unsized data:

    \n \n
    let x = vec![1, 2, 3].into_boxed_slice();\n let static_ref = Box::leak(x);\n static_ref[0] = 4;\n assert_eq!(*static_ref, [4, 2, 3]);
    Run
    \n-
    1.63.0 (const: unstable) \u00b7 source

    pub fn into_pin(boxed: Self) -> Pin<Self>
    where\n- A: 'static,

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n+

    1.63.0 (const: unstable) \u00b7 source

    pub fn into_pin(boxed: Self) -> Pin<Self>
    where\n+ A: 'static,

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n *boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n-

    This is also available via From.

    \n+

    This is also available via From.

    \n

    Constructing and pinning a Box with Box::into_pin(Box::new(x))\n can also be written more concisely using Box::pin(x).\n This into_pin method is useful if you already have a Box<T>, or you are\n constructing a (pinned) Box in a different way than with Box::new.

    \n
    \u00a7Notes
    \n

    It\u2019s not recommended that crates add an impl like From<Box<T>> for Pin<T>,\n as it\u2019ll introduce an ambiguity when calling Pin::from.\n@@ -511,283 +511,283 @@\n fn from(_: Box<()>) -> Pin<Foo> {\n Pin::new(Foo)\n }\n }\n \n let foo = Box::new(());\n let bar = Pin::from(foo);Run

    \n-
    source\u00a7

    impl<A: Allocator> Box<dyn Any, A>

    source

    pub fn downcast<T: Any>(self) -> Result<Box<T, A>, Self>

    Attempt to downcast the box to a concrete type.

    \n+
    source\u00a7

    impl<A: Allocator> Box<dyn Any, A>

    source

    pub fn downcast<T: Any>(self) -> Result<Box<T, A>, Self>

    Attempt to downcast the box to a concrete type.

    \n
    \u00a7Examples
    \n
    use std::any::Any;\n \n fn print_if_string(value: Box<dyn Any>) {\n     if let Ok(string) = value.downcast::<String>() {\n         println!(\"String ({}): {}\", string.len(), string);\n     }\n }\n \n let my_string = \"Hello World\".to_string();\n print_if_string(Box::new(my_string));\n print_if_string(Box::new(0i8));
    Run
    \n-
    source

    pub unsafe fn downcast_unchecked<T: Any>(self) -> Box<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (downcast_unchecked #90850)

    Downcasts the box to a concrete type.

    \n+
    source

    pub unsafe fn downcast_unchecked<T: Any>(self) -> Box<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (downcast_unchecked #90850)

    Downcasts the box to a concrete type.

    \n

    For a safe alternative see downcast.

    \n
    \u00a7Examples
    \n
    #![feature(downcast_unchecked)]\n \n use std::any::Any;\n \n let x: Box<dyn Any> = Box::new(1_usize);\n \n unsafe {\n     assert_eq!(*x.downcast_unchecked::<usize>(), 1);\n }
    Run
    \n
    \u00a7Safety
    \n

    The contained value must be of type T. Calling this method\n with the incorrect type is undefined behavior.

    \n-
    source\u00a7

    impl<A: Allocator> Box<dyn Any + Send, A>

    source

    pub fn downcast<T: Any>(self) -> Result<Box<T, A>, Self>

    Attempt to downcast the box to a concrete type.

    \n+
    source\u00a7

    impl<A: Allocator> Box<dyn Any + Send, A>

    source

    pub fn downcast<T: Any>(self) -> Result<Box<T, A>, Self>

    Attempt to downcast the box to a concrete type.

    \n
    \u00a7Examples
    \n
    use std::any::Any;\n \n fn print_if_string(value: Box<dyn Any + Send>) {\n     if let Ok(string) = value.downcast::<String>() {\n         println!(\"String ({}): {}\", string.len(), string);\n     }\n }\n \n let my_string = \"Hello World\".to_string();\n print_if_string(Box::new(my_string));\n print_if_string(Box::new(0i8));
    Run
    \n-
    source

    pub unsafe fn downcast_unchecked<T: Any>(self) -> Box<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (downcast_unchecked #90850)

    Downcasts the box to a concrete type.

    \n+
    source

    pub unsafe fn downcast_unchecked<T: Any>(self) -> Box<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (downcast_unchecked #90850)

    Downcasts the box to a concrete type.

    \n

    For a safe alternative see downcast.

    \n
    \u00a7Examples
    \n
    #![feature(downcast_unchecked)]\n \n use std::any::Any;\n \n let x: Box<dyn Any + Send> = Box::new(1_usize);\n \n unsafe {\n     assert_eq!(*x.downcast_unchecked::<usize>(), 1);\n }
    Run
    \n
    \u00a7Safety
    \n

    The contained value must be of type T. Calling this method\n with the incorrect type is undefined behavior.

    \n-
    source\u00a7

    impl<A: Allocator> Box<dyn Any + Send + Sync, A>

    1.51.0 \u00b7 source

    pub fn downcast<T: Any>(self) -> Result<Box<T, A>, Self>

    Attempt to downcast the box to a concrete type.

    \n+
    source\u00a7

    impl<A: Allocator> Box<dyn Any + Send + Sync, A>

    1.51.0 \u00b7 source

    pub fn downcast<T: Any>(self) -> Result<Box<T, A>, Self>

    Attempt to downcast the box to a concrete type.

    \n
    \u00a7Examples
    \n
    use std::any::Any;\n \n fn print_if_string(value: Box<dyn Any + Send + Sync>) {\n     if let Ok(string) = value.downcast::<String>() {\n         println!(\"String ({}): {}\", string.len(), string);\n     }\n }\n \n let my_string = \"Hello World\".to_string();\n print_if_string(Box::new(my_string));\n print_if_string(Box::new(0i8));
    Run
    \n-
    source

    pub unsafe fn downcast_unchecked<T: Any>(self) -> Box<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (downcast_unchecked #90850)

    Downcasts the box to a concrete type.

    \n+
    source

    pub unsafe fn downcast_unchecked<T: Any>(self) -> Box<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (downcast_unchecked #90850)

    Downcasts the box to a concrete type.

    \n

    For a safe alternative see downcast.

    \n
    \u00a7Examples
    \n
    #![feature(downcast_unchecked)]\n \n use std::any::Any;\n \n let x: Box<dyn Any + Send + Sync> = Box::new(1_usize);\n \n unsafe {\n     assert_eq!(*x.downcast_unchecked::<usize>(), 1);\n }
    Run
    \n
    \u00a7Safety
    \n

    The contained value must be of type T. Calling this method\n with the incorrect type is undefined behavior.

    \n-

    Trait Implementations\u00a7

    1.5.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> AsMut<T> for Box<T, A>

    source\u00a7

    fn as_mut(&mut self) -> &mut T

    Converts this type into a mutable reference of the (usually inferred) input type.
    1.5.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> AsRef<T> for Box<T, A>

    source\u00a7

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    source\u00a7

    impl<Args: Tuple, F: AsyncFn<Args> + ?Sized, A: Allocator> AsyncFn<Args> for Box<F, A>

    \u00a7

    type CallFuture<'a> = <F as AsyncFn<Args>>::CallFuture<'a>\n+

    Trait Implementations\u00a7

    1.5.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> AsMut<T> for Box<T, A>

    source\u00a7

    fn as_mut(&mut self) -> &mut T

    Converts this type into a mutable reference of the (usually inferred) input type.
    1.5.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> AsRef<T> for Box<T, A>

    source\u00a7

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    source\u00a7

    impl<Args: Tuple, F: AsyncFn<Args> + ?Sized, A: Allocator> AsyncFn<Args> for Box<F, A>

    \u00a7

    type CallFuture<'a> = <F as AsyncFn<Args>>::CallFuture<'a>\n where\n- Self: 'a

    \ud83d\udd2cThis is a nightly-only experimental API. (async_fn_traits)
    Future returned by AsyncFn::async_call.
    source\u00a7

    extern "rust-call" fn async_call(\n+ Self: 'a

    \ud83d\udd2cThis is a nightly-only experimental API. (async_fn_traits)
    Future returned by AsyncFn::async_call.
    source\u00a7

    extern "rust-call" fn async_call(\n &self,\n args: Args\n-) -> Self::CallFuture<'_>

    \ud83d\udd2cThis is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFn, returning a future which may borrow from the called closure.
    source\u00a7

    impl<Args: Tuple, F: AsyncFnMut<Args> + ?Sized, A: Allocator> AsyncFnMut<Args> for Box<F, A>

    \u00a7

    type CallMutFuture<'a> = <F as AsyncFnMut<Args>>::CallMutFuture<'a>\n+) -> Self::CallFuture<'_>

    \ud83d\udd2cThis is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFn, returning a future which may borrow from the called closure.
    source\u00a7

    impl<Args: Tuple, F: AsyncFnMut<Args> + ?Sized, A: Allocator> AsyncFnMut<Args> for Box<F, A>

    \u00a7

    type CallMutFuture<'a> = <F as AsyncFnMut<Args>>::CallMutFuture<'a>\n where\n- Self: 'a

    \ud83d\udd2cThis is a nightly-only experimental API. (async_fn_traits)
    Future returned by AsyncFnMut::async_call_mut.
    source\u00a7

    extern "rust-call" fn async_call_mut(\n+ Self: 'a

    \ud83d\udd2cThis is a nightly-only experimental API. (async_fn_traits)
    Future returned by AsyncFnMut::async_call_mut.
    source\u00a7

    extern "rust-call" fn async_call_mut(\n &mut self,\n args: Args\n-) -> Self::CallMutFuture<'_>

    \ud83d\udd2cThis is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFnMut, returning a future which may borrow from the called closure.
    source\u00a7

    impl<Args: Tuple, F: AsyncFnOnce<Args> + ?Sized, A: Allocator> AsyncFnOnce<Args> for Box<F, A>

    \u00a7

    type Output = <F as AsyncFnOnce<Args>>::Output

    \ud83d\udd2cThis is a nightly-only experimental API. (async_fn_traits)
    Output type of the called closure\u2019s future.
    \u00a7

    type CallOnceFuture = <F as AsyncFnOnce<Args>>::CallOnceFuture

    \ud83d\udd2cThis is a nightly-only experimental API. (async_fn_traits)
    Future returned by AsyncFnOnce::async_call_once.
    source\u00a7

    extern "rust-call" fn async_call_once(\n+) -> Self::CallMutFuture<'_>

    \ud83d\udd2cThis is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFnMut, returning a future which may borrow from the called closure.
    source\u00a7

    impl<Args: Tuple, F: AsyncFnOnce<Args> + ?Sized, A: Allocator> AsyncFnOnce<Args> for Box<F, A>

    \u00a7

    type Output = <F as AsyncFnOnce<Args>>::Output

    \ud83d\udd2cThis is a nightly-only experimental API. (async_fn_traits)
    Output type of the called closure\u2019s future.
    \u00a7

    type CallOnceFuture = <F as AsyncFnOnce<Args>>::CallOnceFuture

    \ud83d\udd2cThis is a nightly-only experimental API. (async_fn_traits)
    Future returned by AsyncFnOnce::async_call_once.
    source\u00a7

    extern "rust-call" fn async_call_once(\n self,\n args: Args\n-) -> Self::CallOnceFuture

    \ud83d\udd2cThis is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFnOnce, returning a future which may move out of the called closure.
    source\u00a7

    impl<S: ?Sized + AsyncIterator + Unpin> AsyncIterator for Box<S>

    \u00a7

    type Item = <S as AsyncIterator>::Item

    \ud83d\udd2cThis is a nightly-only experimental API. (async_iterator #79024)
    The type of items yielded by the async iterator.
    source\u00a7

    fn poll_next(\n- self: Pin<&mut Self>,\n- cx: &mut Context<'_>\n-) -> Poll<Option<Self::Item>>

    \ud83d\udd2cThis is a nightly-only experimental API. (async_iterator #79024)
    Attempt to pull out the next value of this async iterator, registering the\n+) -> Self::CallOnceFuture
    \ud83d\udd2cThis is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFnOnce, returning a future which may move out of the called closure.
    source\u00a7

    impl<S: ?Sized + AsyncIterator + Unpin> AsyncIterator for Box<S>

    \u00a7

    type Item = <S as AsyncIterator>::Item

    \ud83d\udd2cThis is a nightly-only experimental API. (async_iterator #79024)
    The type of items yielded by the async iterator.
    source\u00a7

    fn poll_next(\n+ self: Pin<&mut Self>,\n+ cx: &mut Context<'_>\n+) -> Poll<Option<Self::Item>>

    \ud83d\udd2cThis is a nightly-only experimental API. (async_iterator #79024)
    Attempt to pull out the next value of this async iterator, registering the\n current task for wakeup if the value is not yet available, and returning\n-None if the async iterator is exhausted. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    \ud83d\udd2cThis is a nightly-only experimental API. (async_iterator #79024)
    Returns the bounds on the remaining length of the async iterator. Read more
    1.1.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Borrow<T> for Box<T, A>

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    1.1.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> BorrowMut<T> for Box<T, A>

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    1.3.0 \u00b7 source\u00a7

    impl<T: Clone, A: Allocator + Clone> Clone for Box<[T], A>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, other: &Self)

    Performs copy-assignment from source. Read more
    1.29.0 \u00b7 source\u00a7

    impl Clone for Box<CStr>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<T: Clone, A: Allocator + Clone> Clone for Box<T, A>

    source\u00a7

    fn clone(&self) -> Self

    Returns a new box with a clone() of this box\u2019s contents.

    \n+None if the async iterator is exhausted. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    \ud83d\udd2cThis is a nightly-only experimental API. (async_iterator #79024)
    Returns the bounds on the remaining length of the async iterator. Read more
    1.1.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Borrow<T> for Box<T, A>

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    1.1.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> BorrowMut<T> for Box<T, A>

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    1.3.0 \u00b7 source\u00a7

    impl<T: Clone, A: Allocator + Clone> Clone for Box<[T], A>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, other: &Self)

    Performs copy-assignment from source. Read more
    1.29.0 \u00b7 source\u00a7

    impl Clone for Box<CStr>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<T: Clone, A: Allocator + Clone> Clone for Box<T, A>

    source\u00a7

    fn clone(&self) -> Self

    Returns a new box with a clone() of this box\u2019s contents.

    \n
    \u00a7Examples
    \n
    let x = Box::new(5);\n let y = x.clone();\n \n // The value is the same\n assert_eq!(x, y);\n \n // But they are unique objects\n assert_ne!(&*x as *const i32, &*y as *const i32);
    Run
    \n-
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Copies source\u2019s contents into self without creating a new allocation.

    \n+
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Copies source\u2019s contents into self without creating a new allocation.

    \n
    \u00a7Examples
    \n
    let x = Box::new(5);\n let mut y = Box::new(10);\n let yp: *const i32 = &*y;\n \n y.clone_from(&x);\n \n // The value is the same\n assert_eq!(x, y);\n \n // And no allocation occurred\n assert_eq!(yp, &*y);
    Run
    \n-
    1.3.0 \u00b7 source\u00a7

    impl Clone for Box<str>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<G: ?Sized + Coroutine<R> + Unpin, R, A: Allocator> Coroutine<R> for Box<G, A>

    \u00a7

    type Yield = <G as Coroutine<R>>::Yield

    \ud83d\udd2cThis is a nightly-only experimental API. (coroutine_trait #43122)
    The type of value this coroutine yields. Read more
    \u00a7

    type Return = <G as Coroutine<R>>::Return

    \ud83d\udd2cThis is a nightly-only experimental API. (coroutine_trait #43122)
    The type of value this coroutine returns. Read more
    source\u00a7

    fn resume(\n- self: Pin<&mut Self>,\n+

    1.3.0 \u00b7 source\u00a7

    impl Clone for Box<str>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<G: ?Sized + Coroutine<R> + Unpin, R, A: Allocator> Coroutine<R> for Box<G, A>

    \u00a7

    type Yield = <G as Coroutine<R>>::Yield

    \ud83d\udd2cThis is a nightly-only experimental API. (coroutine_trait #43122)
    The type of value this coroutine yields. Read more
    \u00a7

    type Return = <G as Coroutine<R>>::Return

    \ud83d\udd2cThis is a nightly-only experimental API. (coroutine_trait #43122)
    The type of value this coroutine returns. Read more
    source\u00a7

    fn resume(\n+ self: Pin<&mut Self>,\n arg: R\n-) -> CoroutineState<Self::Yield, Self::Return>

    \ud83d\udd2cThis is a nightly-only experimental API. (coroutine_trait #43122)
    Resumes the execution of this coroutine. Read more
    source\u00a7

    impl<G: ?Sized + Coroutine<R>, R, A> Coroutine<R> for Pin<Box<G, A>>
    where\n- A: 'static + Allocator,

    \u00a7

    type Yield = <G as Coroutine<R>>::Yield

    \ud83d\udd2cThis is a nightly-only experimental API. (coroutine_trait #43122)
    The type of value this coroutine yields. Read more
    \u00a7

    type Return = <G as Coroutine<R>>::Return

    \ud83d\udd2cThis is a nightly-only experimental API. (coroutine_trait #43122)
    The type of value this coroutine returns. Read more
    source\u00a7

    fn resume(\n- self: Pin<&mut Self>,\n+) -> CoroutineState<Self::Yield, Self::Return>

    \ud83d\udd2cThis is a nightly-only experimental API. (coroutine_trait #43122)
    Resumes the execution of this coroutine. Read more
    source\u00a7

    impl<G: ?Sized + Coroutine<R>, R, A> Coroutine<R> for Pin<Box<G, A>>
    where\n+ A: 'static + Allocator,

    \u00a7

    type Yield = <G as Coroutine<R>>::Yield

    \ud83d\udd2cThis is a nightly-only experimental API. (coroutine_trait #43122)
    The type of value this coroutine yields. Read more
    \u00a7

    type Return = <G as Coroutine<R>>::Return

    \ud83d\udd2cThis is a nightly-only experimental API. (coroutine_trait #43122)
    The type of value this coroutine returns. Read more
    source\u00a7

    fn resume(\n+ self: Pin<&mut Self>,\n arg: R\n-) -> CoroutineState<Self::Yield, Self::Return>

    \ud83d\udd2cThis is a nightly-only experimental API. (coroutine_trait #43122)
    Resumes the execution of this coroutine. Read more
    source\u00a7

    impl<T: Debug + ?Sized, A: Allocator> Debug for Box<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T> Default for Box<[T]>

    source\u00a7

    fn default() -> Self

    Returns the \u201cdefault value\u201d for a type. Read more
    1.17.0 \u00b7 source\u00a7

    impl Default for Box<CStr>

    source\u00a7

    fn default() -> Box<CStr>

    Returns the \u201cdefault value\u201d for a type. Read more
    source\u00a7

    impl<T: Default> Default for Box<T>

    source\u00a7

    fn default() -> Self

    Creates a Box<T>, with the Default value for T.

    \n-
    1.17.0 \u00b7 source\u00a7

    impl Default for Box<str>

    source\u00a7

    fn default() -> Self

    Returns the \u201cdefault value\u201d for a type. Read more
    source\u00a7

    impl<T: ?Sized, A: Allocator> Deref for Box<T, A>

    \u00a7

    type Target = T

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &T

    Dereferences the value.
    source\u00a7

    impl<T: ?Sized, A: Allocator> DerefMut for Box<T, A>

    source\u00a7

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    source\u00a7

    impl<T: Display + ?Sized, A: Allocator> Display for Box<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<I: DoubleEndedIterator + ?Sized, A: Allocator> DoubleEndedIterator for Box<I, A>

    source\u00a7

    fn next_back(&mut self) -> Option<I::Item>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<I::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T: ?Sized, A: Allocator> Drop for Box<T, A>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    1.8.0 \u00b7 source\u00a7

    impl<T: Error> Error for Box<T>

    source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source\u00a7

    fn provide<'b>(&'b self, request: &mut Request<'b>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more
    source\u00a7

    impl<I: ExactSizeIterator + ?Sized, A: Allocator> ExactSizeIterator for Box<I, A>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    1.45.0 \u00b7 source\u00a7

    impl Extend<Box<str>> for String

    source\u00a7

    fn extend<I: IntoIterator<Item = Box<str>>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, item: A)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    1.35.0 \u00b7 source\u00a7

    impl<Args: Tuple, F: Fn<Args> + ?Sized, A: Allocator> Fn<Args> for Box<F, A>

    source\u00a7

    extern "rust-call" fn call(&self, args: Args) -> Self::Output

    \ud83d\udd2cThis is a nightly-only experimental API. (fn_traits #29625)
    Performs the call operation.
    1.35.0 \u00b7 source\u00a7

    impl<Args: Tuple, F: FnMut<Args> + ?Sized, A: Allocator> FnMut<Args> for Box<F, A>

    source\u00a7

    extern "rust-call" fn call_mut(&mut self, args: Args) -> Self::Output

    \ud83d\udd2cThis is a nightly-only experimental API. (fn_traits #29625)
    Performs the call operation.
    1.35.0 \u00b7 source\u00a7

    impl<Args: Tuple, F: FnOnce<Args> + ?Sized, A: Allocator> FnOnce<Args> for Box<F, A>

    \u00a7

    type Output = <F as FnOnce<Args>>::Output

    The returned type after the call operator is used.
    source\u00a7

    extern "rust-call" fn call_once(self, args: Args) -> Self::Output

    \ud83d\udd2cThis is a nightly-only experimental API. (fn_traits #29625)
    Performs the call operation.
    1.17.0 \u00b7 source\u00a7

    impl<T: Clone> From<&[T]> for Box<[T]>

    source\u00a7

    fn from(slice: &[T]) -> Box<[T]>

    Converts a &[T] into a Box<[T]>

    \n+) -> CoroutineState<Self::Yield, Self::Return>
    \ud83d\udd2cThis is a nightly-only experimental API. (coroutine_trait #43122)
    Resumes the execution of this coroutine. Read more
    source\u00a7

    impl<T: Debug + ?Sized, A: Allocator> Debug for Box<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T> Default for Box<[T]>

    source\u00a7

    fn default() -> Self

    Returns the \u201cdefault value\u201d for a type. Read more
    1.17.0 \u00b7 source\u00a7

    impl Default for Box<CStr>

    source\u00a7

    fn default() -> Box<CStr>

    Returns the \u201cdefault value\u201d for a type. Read more
    source\u00a7

    impl<T: Default> Default for Box<T>

    source\u00a7

    fn default() -> Self

    Creates a Box<T>, with the Default value for T.

    \n+
    1.17.0 \u00b7 source\u00a7

    impl Default for Box<str>

    source\u00a7

    fn default() -> Self

    Returns the \u201cdefault value\u201d for a type. Read more
    source\u00a7

    impl<T: ?Sized, A: Allocator> Deref for Box<T, A>

    \u00a7

    type Target = T

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &T

    Dereferences the value.
    source\u00a7

    impl<T: ?Sized, A: Allocator> DerefMut for Box<T, A>

    source\u00a7

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    source\u00a7

    impl<T: Display + ?Sized, A: Allocator> Display for Box<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<I: DoubleEndedIterator + ?Sized, A: Allocator> DoubleEndedIterator for Box<I, A>

    source\u00a7

    fn next_back(&mut self) -> Option<I::Item>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<I::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T: ?Sized, A: Allocator> Drop for Box<T, A>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    1.8.0 \u00b7 source\u00a7

    impl<T: Error> Error for Box<T>

    source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source\u00a7

    fn provide<'b>(&'b self, request: &mut Request<'b>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more
    source\u00a7

    impl<I: ExactSizeIterator + ?Sized, A: Allocator> ExactSizeIterator for Box<I, A>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    1.45.0 \u00b7 source\u00a7

    impl Extend<Box<str>> for String

    source\u00a7

    fn extend<I: IntoIterator<Item = Box<str>>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, item: A)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    1.35.0 \u00b7 source\u00a7

    impl<Args: Tuple, F: Fn<Args> + ?Sized, A: Allocator> Fn<Args> for Box<F, A>

    source\u00a7

    extern "rust-call" fn call(&self, args: Args) -> Self::Output

    \ud83d\udd2cThis is a nightly-only experimental API. (fn_traits #29625)
    Performs the call operation.
    1.35.0 \u00b7 source\u00a7

    impl<Args: Tuple, F: FnMut<Args> + ?Sized, A: Allocator> FnMut<Args> for Box<F, A>

    source\u00a7

    extern "rust-call" fn call_mut(&mut self, args: Args) -> Self::Output

    \ud83d\udd2cThis is a nightly-only experimental API. (fn_traits #29625)
    Performs the call operation.
    1.35.0 \u00b7 source\u00a7

    impl<Args: Tuple, F: FnOnce<Args> + ?Sized, A: Allocator> FnOnce<Args> for Box<F, A>

    \u00a7

    type Output = <F as FnOnce<Args>>::Output

    The returned type after the call operator is used.
    source\u00a7

    extern "rust-call" fn call_once(self, args: Args) -> Self::Output

    \ud83d\udd2cThis is a nightly-only experimental API. (fn_traits #29625)
    Performs the call operation.
    1.17.0 \u00b7 source\u00a7

    impl<T: Clone> From<&[T]> for Box<[T]>

    source\u00a7

    fn from(slice: &[T]) -> Box<[T]>

    Converts a &[T] into a Box<[T]>

    \n

    This conversion allocates on the heap\n and performs a copy of slice and its contents.

    \n
    \u00a7Examples
    \n
    // create a &[u8] which will be used to create a Box<[u8]>\n let slice: &[u8] = &[104, 101, 108, 108, 111];\n let boxed_slice: Box<[u8]> = Box::from(slice);\n \n println!(\"{boxed_slice:?}\");
    Run
    \n-
    1.17.0 \u00b7 source\u00a7

    impl From<&CStr> for Box<CStr>

    source\u00a7

    fn from(s: &CStr) -> Box<CStr>

    Converts a &CStr into a Box<CStr>,\n+

    1.17.0 \u00b7 source\u00a7

    impl From<&CStr> for Box<CStr>

    source\u00a7

    fn from(s: &CStr) -> Box<CStr>

    Converts a &CStr into a Box<CStr>,\n by copying the contents into a newly allocated Box.

    \n-
    1.6.0 \u00b7 source\u00a7

    impl<'a> From<&str> for Box<dyn Error + 'a>

    source\u00a7

    fn from(err: &str) -> Box<dyn Error + 'a>

    Converts a str into a box of dyn Error.

    \n+
    1.6.0 \u00b7 source\u00a7

    impl<'a> From<&str> for Box<dyn Error + 'a>

    source\u00a7

    fn from(err: &str) -> Box<dyn Error + 'a>

    Converts a str into a box of dyn Error.

    \n
    \u00a7Examples
    \n
    use std::error::Error;\n use std::mem;\n \n let a_str_error = \"a str error\";\n let a_boxed_error = Box::<dyn Error>::from(a_str_error);\n assert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    Run
    \n-
    source\u00a7

    impl<'a> From<&str> for Box<dyn Error + Send + Sync + 'a>

    source\u00a7

    fn from(err: &str) -> Box<dyn Error + Send + Sync + 'a>

    Converts a str into a box of dyn Error + Send + Sync.

    \n+
    source\u00a7

    impl<'a> From<&str> for Box<dyn Error + Send + Sync + 'a>

    source\u00a7

    fn from(err: &str) -> Box<dyn Error + Send + Sync + 'a>

    Converts a str into a box of dyn Error + Send + Sync.

    \n
    \u00a7Examples
    \n
    use std::error::Error;\n use std::mem;\n \n let a_str_error = \"a str error\";\n let a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_str_error);\n assert!(\n     mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    Run
    \n-
    1.17.0 \u00b7 source\u00a7

    impl From<&str> for Box<str>

    source\u00a7

    fn from(s: &str) -> Box<str>

    Converts a &str into a Box<str>

    \n+
    1.17.0 \u00b7 source\u00a7

    impl From<&str> for Box<str>

    source\u00a7

    fn from(s: &str) -> Box<str>

    Converts a &str into a Box<str>

    \n

    This conversion allocates on the heap\n and performs a copy of s.

    \n
    \u00a7Examples
    \n
    let boxed: Box<str> = Box::from(\"hello\");\n println!(\"{boxed}\");
    Run
    \n-
    1.45.0 \u00b7 source\u00a7

    impl<T, const N: usize> From<[T; N]> for Box<[T]>

    source\u00a7

    fn from(array: [T; N]) -> Box<[T]>

    Converts a [T; N] into a Box<[T]>

    \n+
    1.45.0 \u00b7 source\u00a7

    impl<T, const N: usize> From<[T; N]> for Box<[T]>

    source\u00a7

    fn from(array: [T; N]) -> Box<[T]>

    Converts a [T; N] into a Box<[T]>

    \n

    This conversion moves the array to newly heap-allocated memory.

    \n
    \u00a7Examples
    \n
    let boxed: Box<[u8]> = Box::from([4, 2]);\n println!(\"{boxed:?}\");
    Run
    \n-
    1.18.0 \u00b7 source\u00a7

    impl<T, A: Allocator> From<Box<[T], A>> for Vec<T, A>

    source\u00a7

    fn from(s: Box<[T], A>) -> Self

    Convert a boxed slice into a vector by transferring ownership of\n+

    1.18.0 \u00b7 source\u00a7

    impl<T, A: Allocator> From<Box<[T], A>> for Vec<T, A>

    source\u00a7

    fn from(s: Box<[T], A>) -> Self

    Convert a boxed slice into a vector by transferring ownership of\n the existing heap allocation.

    \n
    \u00a7Examples
    \n
    let b: Box<[i32]> = vec![1, 2, 3].into_boxed_slice();\n assert_eq!(Vec::from(b), vec![1, 2, 3]);
    Run
    \n-
    1.18.0 \u00b7 source\u00a7

    impl From<Box<CStr>> for CString

    source\u00a7

    fn from(s: Box<CStr>) -> CString

    Converts a Box<CStr> into a CString without copying or allocating.

    \n-
    1.21.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> From<Box<T, A>> for Arc<T, A>

    source\u00a7

    fn from(v: Box<T, A>) -> Arc<T, A>

    Move a boxed object to a new, reference-counted allocation.

    \n+
    1.18.0 \u00b7 source\u00a7

    impl From<Box<CStr>> for CString

    source\u00a7

    fn from(s: Box<CStr>) -> CString

    Converts a Box<CStr> into a CString without copying or allocating.

    \n+
    1.21.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> From<Box<T, A>> for Arc<T, A>

    source\u00a7

    fn from(v: Box<T, A>) -> Arc<T, A>

    Move a boxed object to a new, reference-counted allocation.

    \n
    \u00a7Example
    \n
    let unique: Box<str> = Box::from(\"eggplant\");\n let shared: Arc<str> = Arc::from(unique);\n assert_eq!(\"eggplant\", &shared[..]);
    Run
    \n-
    1.33.0 \u00b7 source\u00a7

    impl<T: ?Sized, A> From<Box<T, A>> for Pin<Box<T, A>>
    where\n- A: 'static + Allocator,

    source\u00a7

    fn from(boxed: Box<T, A>) -> Self

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n+

    1.33.0 \u00b7 source\u00a7

    impl<T: ?Sized, A> From<Box<T, A>> for Pin<Box<T, A>>
    where\n+ A: 'static + Allocator,

    source\u00a7

    fn from(boxed: Box<T, A>) -> Self

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n *boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n

    This is also available via Box::into_pin.

    \n

    Constructing and pinning a Box with <Pin<Box<T>>>::from(Box::new(x))\n can also be written more concisely using Box::pin(x).\n This From implementation is useful if you already have a Box<T>, or you are\n constructing a (pinned) Box in a different way than with Box::new.

    \n-
    1.21.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> From<Box<T, A>> for Rc<T, A>

    source\u00a7

    fn from(v: Box<T, A>) -> Rc<T, A>

    Move a boxed object to a new, reference counted, allocation.

    \n+
    1.21.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> From<Box<T, A>> for Rc<T, A>

    source\u00a7

    fn from(v: Box<T, A>) -> Rc<T, A>

    Move a boxed object to a new, reference counted, allocation.

    \n
    \u00a7Example
    \n
    let original: Box<i32> = Box::new(1);\n let shared: Rc<i32> = Rc::from(original);\n assert_eq!(1, *shared);
    Run
    \n-
    1.18.0 \u00b7 source\u00a7

    impl From<Box<str>> for String

    source\u00a7

    fn from(s: Box<str>) -> String

    Converts the given boxed str slice to a String.\n+

    1.18.0 \u00b7 source\u00a7

    impl From<Box<str>> for String

    source\u00a7

    fn from(s: Box<str>) -> String

    Converts the given boxed str slice to a String.\n It is notable that the str slice is owned.

    \n
    \u00a7Examples
    \n
    let s1: String = String::from(\"hello world\");\n let s2: Box<str> = s1.into_boxed_str();\n let s3: String = String::from(s2);\n \n assert_eq!(\"hello world\", s3)
    Run
    \n-
    1.19.0 \u00b7 source\u00a7

    impl<A: Allocator> From<Box<str, A>> for Box<[u8], A>

    source\u00a7

    fn from(s: Box<str, A>) -> Self

    Converts a Box<str> into a Box<[u8]>

    \n+
    1.19.0 \u00b7 source\u00a7

    impl<A: Allocator> From<Box<str, A>> for Box<[u8], A>

    source\u00a7

    fn from(s: Box<str, A>) -> Self

    Converts a Box<str> into a Box<[u8]>

    \n

    This conversion does not allocate on the heap and happens in place.

    \n
    \u00a7Examples
    \n
    // create a Box<str> which will be used to create a Box<[u8]>\n let boxed: Box<str> = Box::from(\"hello\");\n let boxed_str: Box<[u8]> = Box::from(boxed);\n \n // create a &[u8] which will be used to create a Box<[u8]>\n let slice: &[u8] = &[104, 101, 108, 108, 111];\n let boxed_slice = Box::from(slice);\n \n assert_eq!(boxed_slice, boxed_str);
    Run
    \n-
    1.20.0 \u00b7 source\u00a7

    impl From<CString> for Box<CStr>

    source\u00a7

    fn from(s: CString) -> Box<CStr>

    Converts a CString into a Box<CStr> without copying or allocating.

    \n-
    1.45.0 \u00b7 source\u00a7

    impl<T: Clone> From<Cow<'_, [T]>> for Box<[T]>

    source\u00a7

    fn from(cow: Cow<'_, [T]>) -> Box<[T]>

    Converts a Cow<'_, [T]> into a Box<[T]>

    \n+
    1.20.0 \u00b7 source\u00a7

    impl From<CString> for Box<CStr>

    source\u00a7

    fn from(s: CString) -> Box<CStr>

    Converts a CString into a Box<CStr> without copying or allocating.

    \n+
    1.45.0 \u00b7 source\u00a7

    impl<T: Clone> From<Cow<'_, [T]>> for Box<[T]>

    source\u00a7

    fn from(cow: Cow<'_, [T]>) -> Box<[T]>

    Converts a Cow<'_, [T]> into a Box<[T]>

    \n

    When cow is the Cow::Borrowed variant, this\n conversion allocates on the heap and copies the\n underlying slice. Otherwise, it will try to reuse the owned\n Vec\u2019s allocation.

    \n-
    1.45.0 \u00b7 source\u00a7

    impl From<Cow<'_, CStr>> for Box<CStr>

    source\u00a7

    fn from(cow: Cow<'_, CStr>) -> Box<CStr>

    Converts a Cow<'a, CStr> into a Box<CStr>,\n+

    1.45.0 \u00b7 source\u00a7

    impl From<Cow<'_, CStr>> for Box<CStr>

    source\u00a7

    fn from(cow: Cow<'_, CStr>) -> Box<CStr>

    Converts a Cow<'a, CStr> into a Box<CStr>,\n by copying the contents if they are borrowed.

    \n-
    1.45.0 \u00b7 source\u00a7

    impl From<Cow<'_, str>> for Box<str>

    source\u00a7

    fn from(cow: Cow<'_, str>) -> Box<str>

    Converts a Cow<'_, str> into a Box<str>

    \n+
    1.45.0 \u00b7 source\u00a7

    impl From<Cow<'_, str>> for Box<str>

    source\u00a7

    fn from(cow: Cow<'_, str>) -> Box<str>

    Converts a Cow<'_, str> into a Box<str>

    \n

    When cow is the Cow::Borrowed variant, this\n conversion allocates on the heap and copies the\n underlying str. Otherwise, it will try to reuse the owned\n String\u2019s allocation.

    \n
    \u00a7Examples
    \n
    use std::borrow::Cow;\n \n let unboxed = Cow::Borrowed(\"hello\");\n let boxed: Box<str> = Box::from(unboxed);\n println!(\"{boxed}\");
    Run
    \n \n
    let unboxed = Cow::Owned(\"hello\".to_string());\n let boxed: Box<str> = Box::from(unboxed);\n println!(\"{boxed}\");
    Run
    \n-
    1.22.0 \u00b7 source\u00a7

    impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + 'a>

    source\u00a7

    fn from(err: Cow<'b, str>) -> Box<dyn Error + 'a>

    Converts a Cow into a box of dyn Error.

    \n+
    1.22.0 \u00b7 source\u00a7

    impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + 'a>

    source\u00a7

    fn from(err: Cow<'b, str>) -> Box<dyn Error + 'a>

    Converts a Cow into a box of dyn Error.

    \n
    \u00a7Examples
    \n
    use std::error::Error;\n use std::mem;\n use std::borrow::Cow;\n \n let a_cow_str_error = Cow::from(\"a str error\");\n let a_boxed_error = Box::<dyn Error>::from(a_cow_str_error);\n assert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    Run
    \n-
    1.22.0 \u00b7 source\u00a7

    impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a>

    source\u00a7

    fn from(err: Cow<'b, str>) -> Box<dyn Error + Send + Sync + 'a>

    Converts a Cow into a box of dyn Error + Send + Sync.

    \n+
    1.22.0 \u00b7 source\u00a7

    impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a>

    source\u00a7

    fn from(err: Cow<'b, str>) -> Box<dyn Error + Send + Sync + 'a>

    Converts a Cow into a box of dyn Error + Send + Sync.

    \n
    \u00a7Examples
    \n
    use std::error::Error;\n use std::mem;\n use std::borrow::Cow;\n \n let a_cow_str_error = Cow::from(\"a str error\");\n let a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_cow_str_error);\n assert!(\n     mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    Run
    \n-
    source\u00a7

    impl<'a, E: Error + 'a> From<E> for Box<dyn Error + 'a>

    source\u00a7

    fn from(err: E) -> Box<dyn Error + 'a>

    Converts a type of Error into a box of dyn Error.

    \n+
    source\u00a7

    impl<'a, E: Error + 'a> From<E> for Box<dyn Error + 'a>

    source\u00a7

    fn from(err: E) -> Box<dyn Error + 'a>

    Converts a type of Error into a box of dyn Error.

    \n
    \u00a7Examples
    \n
    use std::error::Error;\n use std::fmt;\n use std::mem;\n \n #[derive(Debug)]\n struct AnError;\n@@ -800,16 +800,16 @@\n \n impl Error for AnError {}\n \n let an_error = AnError;\n assert!(0 == mem::size_of_val(&an_error));\n let a_boxed_error = Box::<dyn Error>::from(an_error);\n assert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    Run
    \n-
    source\u00a7

    impl<'a, E: Error + Send + Sync + 'a> From<E> for Box<dyn Error + Send + Sync + 'a>

    source\u00a7

    fn from(err: E) -> Box<dyn Error + Send + Sync + 'a>

    Converts a type of Error + Send + Sync into a box of\n-dyn Error + Send + Sync.

    \n+
    source\u00a7

    impl<'a, E: Error + Send + Sync + 'a> From<E> for Box<dyn Error + Send + Sync + 'a>

    source\u00a7

    fn from(err: E) -> Box<dyn Error + Send + Sync + 'a>

    Converts a type of Error + Send + Sync into a box of\n+dyn Error + Send + Sync.

    \n
    \u00a7Examples
    \n
    use std::error::Error;\n use std::fmt;\n use std::mem;\n \n #[derive(Debug)]\n struct AnError;\n@@ -827,281 +827,281 @@\n unsafe impl Sync for AnError {}\n \n let an_error = AnError;\n assert!(0 == mem::size_of_val(&an_error));\n let a_boxed_error = Box::<dyn Error + Send + Sync>::from(an_error);\n assert!(\n     mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    Run
    \n-
    1.6.0 \u00b7 source\u00a7

    impl<'a> From<String> for Box<dyn Error + 'a>

    source\u00a7

    fn from(str_err: String) -> Box<dyn Error + 'a>

    Converts a String into a box of dyn Error.

    \n+
    1.6.0 \u00b7 source\u00a7

    impl<'a> From<String> for Box<dyn Error + 'a>

    source\u00a7

    fn from(str_err: String) -> Box<dyn Error + 'a>

    Converts a String into a box of dyn Error.

    \n
    \u00a7Examples
    \n
    use std::error::Error;\n use std::mem;\n \n let a_string_error = \"a string error\".to_string();\n let a_boxed_error = Box::<dyn Error>::from(a_string_error);\n assert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    Run
    \n-
    source\u00a7

    impl<'a> From<String> for Box<dyn Error + Send + Sync + 'a>

    source\u00a7

    fn from(err: String) -> Box<dyn Error + Send + Sync + 'a>

    Converts a String into a box of dyn Error + Send + Sync.

    \n+
    source\u00a7

    impl<'a> From<String> for Box<dyn Error + Send + Sync + 'a>

    source\u00a7

    fn from(err: String) -> Box<dyn Error + Send + Sync + 'a>

    Converts a String into a box of dyn Error + Send + Sync.

    \n
    \u00a7Examples
    \n
    use std::error::Error;\n use std::mem;\n \n let a_string_error = \"a string error\".to_string();\n let a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_string_error);\n assert!(\n     mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    Run
    \n-
    1.20.0 \u00b7 source\u00a7

    impl From<String> for Box<str>

    source\u00a7

    fn from(s: String) -> Box<str>

    Converts the given String to a boxed str slice that is owned.

    \n+
    1.20.0 \u00b7 source\u00a7

    impl From<String> for Box<str>

    source\u00a7

    fn from(s: String) -> Box<str>

    Converts the given String to a boxed str slice that is owned.

    \n
    \u00a7Examples
    \n
    let s1: String = String::from(\"hello world\");\n let s2: Box<str> = Box::from(s1);\n let s3: String = String::from(s2);\n \n assert_eq!(\"hello world\", s3)
    Run
    \n-
    1.6.0 \u00b7 source\u00a7

    impl<T> From<T> for Box<T>

    source\u00a7

    fn from(t: T) -> Self

    Converts a T into a Box<T>

    \n+
    1.6.0 \u00b7 source\u00a7

    impl<T> From<T> for Box<T>

    source\u00a7

    fn from(t: T) -> Self

    Converts a T into a Box<T>

    \n

    The conversion allocates on the heap and moves t\n from the stack into it.

    \n
    \u00a7Examples
    \n
    let x = 5;\n let boxed = Box::new(5);\n \n assert_eq!(Box::from(x), boxed);
    Run
    \n-
    1.20.0 \u00b7 source\u00a7

    impl<T, A: Allocator> From<Vec<T, A>> for Box<[T], A>

    source\u00a7

    fn from(v: Vec<T, A>) -> Self

    Convert a vector into a boxed slice.

    \n+
    1.20.0 \u00b7 source\u00a7

    impl<T, A: Allocator> From<Vec<T, A>> for Box<[T], A>

    source\u00a7

    fn from(v: Vec<T, A>) -> Self

    Convert a vector into a boxed slice.

    \n

    Before doing the conversion, this method discards excess capacity like Vec::shrink_to_fit.

    \n
    \u00a7Examples
    \n
    assert_eq!(Box::from(vec![1, 2, 3]), vec![1, 2, 3].into_boxed_slice());
    Run
    \n

    Any excess capacity is removed:

    \n \n
    let mut vec = Vec::with_capacity(10);\n vec.extend([1, 2, 3]);\n \n assert_eq!(Box::from(vec), vec![1, 2, 3].into_boxed_slice());
    Run
    \n-
    1.45.0 \u00b7 source\u00a7

    impl FromIterator<Box<str>> for String

    source\u00a7

    fn from_iter<I: IntoIterator<Item = Box<str>>>(iter: I) -> String

    Creates a value from an iterator. Read more
    1.32.0 \u00b7 source\u00a7

    impl<I> FromIterator<I> for Box<[I]>

    source\u00a7

    fn from_iter<T: IntoIterator<Item = I>>(iter: T) -> Self

    Creates a value from an iterator. Read more
    1.36.0 \u00b7 source\u00a7

    impl<F: ?Sized + Future + Unpin, A: Allocator> Future for Box<F, A>

    \u00a7

    type Output = <F as Future>::Output

    The type of value produced on completion.
    source\u00a7

    fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output>

    Attempt to resolve the future to a final value, registering\n-the current task for wakeup if the value is not yet available. Read more
    source\u00a7

    impl<T: ?Sized + Hash, A: Allocator> Hash for Box<T, A>

    source\u00a7

    fn hash<H: Hasher>(&self, state: &mut H)

    Feeds this value into the given Hasher. Read more
    1.3.0 \u00b7 source\u00a7

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n- H: Hasher,\n- Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    1.22.0 \u00b7 source\u00a7

    impl<T: ?Sized + Hasher, A: Allocator> Hasher for Box<T, A>

    source\u00a7

    fn finish(&self) -> u64

    Returns the hash value for the values written so far. Read more
    source\u00a7

    fn write(&mut self, bytes: &[u8])

    Writes some data into this Hasher. Read more
    source\u00a7

    fn write_u8(&mut self, i: u8)

    Writes a single u8 into this hasher.
    source\u00a7

    fn write_u16(&mut self, i: u16)

    Writes a single u16 into this hasher.
    source\u00a7

    fn write_u32(&mut self, i: u32)

    Writes a single u32 into this hasher.
    source\u00a7

    fn write_u64(&mut self, i: u64)

    Writes a single u64 into this hasher.
    source\u00a7

    fn write_u128(&mut self, i: u128)

    Writes a single u128 into this hasher.
    source\u00a7

    fn write_usize(&mut self, i: usize)

    Writes a single usize into this hasher.
    source\u00a7

    fn write_i8(&mut self, i: i8)

    Writes a single i8 into this hasher.
    source\u00a7

    fn write_i16(&mut self, i: i16)

    Writes a single i16 into this hasher.
    source\u00a7

    fn write_i32(&mut self, i: i32)

    Writes a single i32 into this hasher.
    source\u00a7

    fn write_i64(&mut self, i: i64)

    Writes a single i64 into this hasher.
    source\u00a7

    fn write_i128(&mut self, i: i128)

    Writes a single i128 into this hasher.
    source\u00a7

    fn write_isize(&mut self, i: isize)

    Writes a single isize into this hasher.
    source\u00a7

    fn write_length_prefix(&mut self, len: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (hasher_prefixfree_extras #96762)
    Writes a length prefix into this hasher, as part of being prefix-free. Read more
    source\u00a7

    fn write_str(&mut self, s: &str)

    \ud83d\udd2cThis is a nightly-only experimental API. (hasher_prefixfree_extras #96762)
    Writes a single str into this hasher. Read more
    source\u00a7

    impl<I: Iterator + ?Sized, A: Allocator> Iterator for Box<I, A>

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<I::Item>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<I::Item>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<I::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    1.45.0 \u00b7 source\u00a7

    impl FromIterator<Box<str>> for String

    source\u00a7

    fn from_iter<I: IntoIterator<Item = Box<str>>>(iter: I) -> String

    Creates a value from an iterator. Read more
    1.32.0 \u00b7 source\u00a7

    impl<I> FromIterator<I> for Box<[I]>

    source\u00a7

    fn from_iter<T: IntoIterator<Item = I>>(iter: T) -> Self

    Creates a value from an iterator. Read more
    1.36.0 \u00b7 source\u00a7

    impl<F: ?Sized + Future + Unpin, A: Allocator> Future for Box<F, A>

    \u00a7

    type Output = <F as Future>::Output

    The type of value produced on completion.
    source\u00a7

    fn poll(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<Self::Output>

    Attempt to resolve the future to a final value, registering\n+the current task for wakeup if the value is not yet available. Read more
    source\u00a7

    impl<T: ?Sized + Hash, A: Allocator> Hash for Box<T, A>

    source\u00a7

    fn hash<H: Hasher>(&self, state: &mut H)

    Feeds this value into the given Hasher. Read more
    1.3.0 \u00b7 source\u00a7

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n+ H: Hasher,\n+ Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    1.22.0 \u00b7 source\u00a7

    impl<T: ?Sized + Hasher, A: Allocator> Hasher for Box<T, A>

    source\u00a7

    fn finish(&self) -> u64

    Returns the hash value for the values written so far. Read more
    source\u00a7

    fn write(&mut self, bytes: &[u8])

    Writes some data into this Hasher. Read more
    source\u00a7

    fn write_u8(&mut self, i: u8)

    Writes a single u8 into this hasher.
    source\u00a7

    fn write_u16(&mut self, i: u16)

    Writes a single u16 into this hasher.
    source\u00a7

    fn write_u32(&mut self, i: u32)

    Writes a single u32 into this hasher.
    source\u00a7

    fn write_u64(&mut self, i: u64)

    Writes a single u64 into this hasher.
    source\u00a7

    fn write_u128(&mut self, i: u128)

    Writes a single u128 into this hasher.
    source\u00a7

    fn write_usize(&mut self, i: usize)

    Writes a single usize into this hasher.
    source\u00a7

    fn write_i8(&mut self, i: i8)

    Writes a single i8 into this hasher.
    source\u00a7

    fn write_i16(&mut self, i: i16)

    Writes a single i16 into this hasher.
    source\u00a7

    fn write_i32(&mut self, i: i32)

    Writes a single i32 into this hasher.
    source\u00a7

    fn write_i64(&mut self, i: i64)

    Writes a single i64 into this hasher.
    source\u00a7

    fn write_i128(&mut self, i: i128)

    Writes a single i128 into this hasher.
    source\u00a7

    fn write_isize(&mut self, i: isize)

    Writes a single isize into this hasher.
    source\u00a7

    fn write_length_prefix(&mut self, len: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (hasher_prefixfree_extras #96762)
    Writes a length prefix into this hasher, as part of being prefix-free. Read more
    source\u00a7

    fn write_str(&mut self, s: &str)

    \ud83d\udd2cThis is a nightly-only experimental API. (hasher_prefixfree_extras #96762)
    Writes a single str into this hasher. Read more
    source\u00a7

    impl<I: Iterator + ?Sized, A: Allocator> Iterator for Box<I, A>

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<I::Item>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<I::Item>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<I::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<T: ?Sized + Ord, A: Allocator> Ord for Box<T, A>

    source\u00a7

    fn cmp(&self, other: &Self) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 \u00b7 source\u00a7

    fn max(self, other: Self) -> Self
    where\n- Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 \u00b7 source\u00a7

    fn min(self, other: Self) -> Self
    where\n- Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 \u00b7 source\u00a7

    fn clamp(self, min: Self, max: Self) -> Self
    where\n- Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source\u00a7

    impl<T: ?Sized + PartialEq, A: Allocator> PartialEq for Box<T, A>

    source\u00a7

    fn eq(&self, other: &Self) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &Self) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<T: ?Sized + PartialOrd, A: Allocator> PartialOrd for Box<T, A>

    source\u00a7

    fn partial_cmp(&self, other: &Self) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source\u00a7

    fn lt(&self, other: &Self) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source\u00a7

    fn le(&self, other: &Self) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\n-operator. Read more
    source\u00a7

    fn ge(&self, other: &Self) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\n-operator. Read more
    source\u00a7

    fn gt(&self, other: &Self) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    source\u00a7

    impl<T: ?Sized, A: Allocator> Pointer for Box<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter.
    1.43.0 \u00b7 source\u00a7

    impl<T, const N: usize> TryFrom<Box<[T]>> for Box<[T; N]>

    source\u00a7

    fn try_from(boxed_slice: Box<[T]>) -> Result<Self, Self::Error>

    Attempts to convert a Box<[T]> into a Box<[T; N]>.

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<T: ?Sized + Ord, A: Allocator> Ord for Box<T, A>

    source\u00a7

    fn cmp(&self, other: &Self) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 \u00b7 source\u00a7

    fn max(self, other: Self) -> Self
    where\n+ Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 \u00b7 source\u00a7

    fn min(self, other: Self) -> Self
    where\n+ Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 \u00b7 source\u00a7

    fn clamp(self, min: Self, max: Self) -> Self
    where\n+ Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source\u00a7

    impl<T: ?Sized + PartialEq, A: Allocator> PartialEq for Box<T, A>

    source\u00a7

    fn eq(&self, other: &Self) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &Self) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<T: ?Sized + PartialOrd, A: Allocator> PartialOrd for Box<T, A>

    source\u00a7

    fn partial_cmp(&self, other: &Self) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source\u00a7

    fn lt(&self, other: &Self) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source\u00a7

    fn le(&self, other: &Self) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\n+operator. Read more
    source\u00a7

    fn ge(&self, other: &Self) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\n+operator. Read more
    source\u00a7

    fn gt(&self, other: &Self) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    source\u00a7

    impl<T: ?Sized, A: Allocator> Pointer for Box<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter.
    1.43.0 \u00b7 source\u00a7

    impl<T, const N: usize> TryFrom<Box<[T]>> for Box<[T; N]>

    source\u00a7

    fn try_from(boxed_slice: Box<[T]>) -> Result<Self, Self::Error>

    Attempts to convert a Box<[T]> into a Box<[T; N]>.

    \n

    The conversion occurs in-place and does not require a\n new memory allocation.

    \n
    \u00a7Errors
    \n

    Returns the old Box<[T]> in the Err variant if\n boxed_slice.len() does not equal N.

    \n-
    \u00a7

    type Error = Box<[T]>

    The type returned in the event of a conversion error.
    1.66.0 \u00b7 source\u00a7

    impl<T, const N: usize> TryFrom<Vec<T>> for Box<[T; N]>

    source\u00a7

    fn try_from(vec: Vec<T>) -> Result<Self, Self::Error>

    Attempts to convert a Vec<T> into a Box<[T; N]>.

    \n+
    \u00a7

    type Error = Box<[T]>

    The type returned in the event of a conversion error.
    1.66.0 \u00b7 source\u00a7

    impl<T, const N: usize> TryFrom<Vec<T>> for Box<[T; N]>

    source\u00a7

    fn try_from(vec: Vec<T>) -> Result<Self, Self::Error>

    Attempts to convert a Vec<T> into a Box<[T; N]>.

    \n

    Like Vec::into_boxed_slice, this is in-place if vec.capacity() == N,\n but will require a reallocation otherwise.

    \n
    \u00a7Errors
    \n

    Returns the original Vec<T> in the Err variant if\n boxed_slice.len() does not equal N.

    \n
    \u00a7Examples
    \n

    This can be used with vec! to create an array on the heap:

    \n \n
    let state: Box<[f32; 100]> = vec![1.0; 100].try_into().unwrap();\n assert_eq!(state.len(), 100);
    Run
    \n-
    \u00a7

    type Error = Vec<T>

    The type returned in the event of a conversion error.
    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<Box<U, A>> for Box<T, A>

    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Box<U>> for Box<T, Global>

    source\u00a7

    impl<T: ?Sized + Eq, A: Allocator> Eq for Box<T, A>

    1.26.0 \u00b7 source\u00a7

    impl<I: FusedIterator + ?Sized, A: Allocator> FusedIterator for Box<I, A>

    1.33.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Unpin for Box<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T: ?Sized, A> Freeze for Box<T, A>
    where\n- A: Freeze,

    \u00a7

    impl<T: ?Sized, A> RefUnwindSafe for Box<T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<T: ?Sized, A> Send for Box<T, A>
    where\n- A: Send,\n- T: Send,

    \u00a7

    impl<T: ?Sized, A> Sync for Box<T, A>
    where\n- A: Sync,\n- T: Sync,

    \u00a7

    impl<T: ?Sized, A> UnwindSafe for Box<T, A>
    where\n- A: UnwindSafe,\n- T: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<!> for T

    source\u00a7

    fn from(t: !) -> T

    Converts to this type from the input type.
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+
    \u00a7

    type Error = Vec<T>

    The type returned in the event of a conversion error.
    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<Box<U, A>> for Box<T, A>

    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Box<U>> for Box<T, Global>

    source\u00a7

    impl<T: ?Sized + Eq, A: Allocator> Eq for Box<T, A>

    1.26.0 \u00b7 source\u00a7

    impl<I: FusedIterator + ?Sized, A: Allocator> FusedIterator for Box<I, A>

    1.33.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Unpin for Box<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T: ?Sized, A> Freeze for Box<T, A>
    where\n+ A: Freeze,

    \u00a7

    impl<T: ?Sized, A> RefUnwindSafe for Box<T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<T: ?Sized, A> Send for Box<T, A>
    where\n+ A: Send,\n+ T: Send,

    \u00a7

    impl<T: ?Sized, A> Sync for Box<T, A>
    where\n+ A: Sync,\n+ T: Sync,

    \u00a7

    impl<T: ?Sized, A> UnwindSafe for Box<T, A>
    where\n+ A: UnwindSafe,\n+ T: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<!> for T

    source\u00a7

    fn from(t: !) -> T

    Converts to this type from the input type.
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoAsyncIterator for I
    where\n- I: AsyncIterator,

    \u00a7

    type Item = <I as AsyncIterator>::Item

    \ud83d\udd2cThis is a nightly-only experimental API. (async_iterator #79024)
    The type of the item yielded by the iterator
    \u00a7

    type IntoAsyncIter = I

    \ud83d\udd2cThis is a nightly-only experimental API. (async_iterator #79024)
    The type of the resulting iterator
    source\u00a7

    fn into_async_iter(self) -> <I as IntoAsyncIterator>::IntoAsyncIter

    \ud83d\udd2cThis is a nightly-only experimental API. (async_iterator #79024)
    Converts self into an async iterator
    source\u00a7

    impl<F> IntoFuture for F
    where\n- F: Future,

    \u00a7

    type Output = <F as Future>::Output

    The output that the future will produce on completion.
    \u00a7

    type IntoFuture = F

    Which kind of future are we turning this into?
    source\u00a7

    fn into_future(self) -> <F as IntoFuture>::IntoFuture

    Creates a future from a value. Read more
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<'a, F> Pattern<'a> for F
    where\n- F: FnMut(char) -> bool,

    \u00a7

    type Searcher = CharPredicateSearcher<'a, F>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Associated searcher for this pattern
    source\u00a7

    fn into_searcher(self, haystack: &'a str) -> CharPredicateSearcher<'a, F>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Constructs the associated searcher from\n-self and the haystack to search in.
    source\u00a7

    fn is_contained_in(self, haystack: &'a str) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Checks whether the pattern matches anywhere in the haystack
    source\u00a7

    fn is_prefix_of(self, haystack: &'a str) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Checks whether the pattern matches at the front of the haystack
    source\u00a7

    fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Removes the pattern from the front of haystack, if it matches.
    source\u00a7

    fn is_suffix_of(self, haystack: &'a str) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Checks whether the pattern matches at the back of the haystack
    source\u00a7

    fn strip_suffix_of(self, haystack: &'a str) -> Option<&'a str>
    where\n+From<T> for U chooses to do.

    \n+

    source\u00a7

    impl<I> IntoAsyncIterator for I
    where\n+ I: AsyncIterator,

    \u00a7

    type Item = <I as AsyncIterator>::Item

    \ud83d\udd2cThis is a nightly-only experimental API. (async_iterator #79024)
    The type of the item yielded by the iterator
    \u00a7

    type IntoAsyncIter = I

    \ud83d\udd2cThis is a nightly-only experimental API. (async_iterator #79024)
    The type of the resulting iterator
    source\u00a7

    fn into_async_iter(self) -> <I as IntoAsyncIterator>::IntoAsyncIter

    \ud83d\udd2cThis is a nightly-only experimental API. (async_iterator #79024)
    Converts self into an async iterator
    source\u00a7

    impl<F> IntoFuture for F
    where\n+ F: Future,

    \u00a7

    type Output = <F as Future>::Output

    The output that the future will produce on completion.
    \u00a7

    type IntoFuture = F

    Which kind of future are we turning this into?
    source\u00a7

    fn into_future(self) -> <F as IntoFuture>::IntoFuture

    Creates a future from a value. Read more
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<'a, F> Pattern<'a> for F
    where\n+ F: FnMut(char) -> bool,

    \u00a7

    type Searcher = CharPredicateSearcher<'a, F>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Associated searcher for this pattern
    source\u00a7

    fn into_searcher(self, haystack: &'a str) -> CharPredicateSearcher<'a, F>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Constructs the associated searcher from\n+self and the haystack to search in.
    source\u00a7

    fn is_contained_in(self, haystack: &'a str) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Checks whether the pattern matches anywhere in the haystack
    source\u00a7

    fn is_prefix_of(self, haystack: &'a str) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Checks whether the pattern matches at the front of the haystack
    source\u00a7

    fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Removes the pattern from the front of haystack, if it matches.
    source\u00a7

    fn is_suffix_of(self, haystack: &'a str) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Checks whether the pattern matches at the back of the haystack
    source\u00a7

    fn strip_suffix_of(self, haystack: &'a str) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Removes the pattern from the back of haystack, if it matches.
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n- T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n+ T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/boxed/struct.ThinBox.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/boxed/struct.ThinBox.html", "unified_diff": "@@ -1,54 +1,54 @@\n ThinBox in alloc::boxed - Rust
    \n-

    Struct alloc::boxed::ThinBox

    source \u00b7
    pub struct ThinBox<T: ?Sized> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (thin_box #92791)
    Expand description

    ThinBox.

    \n+

    Struct alloc::boxed::ThinBox

    source \u00b7
    pub struct ThinBox<T: ?Sized> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (thin_box #92791)
    Expand description

    ThinBox.

    \n

    A thin pointer for heap allocation, regardless of T.

    \n

    \u00a7Examples

    \n
    #![feature(thin_box)]\n use std::boxed::ThinBox;\n \n let five = ThinBox::new(5);\n let thin_slice = ThinBox::<[i32]>::new_unsize([1, 2, 3, 4]);\n \n use std::mem::{size_of, size_of_val};\n let size_of_ptr = size_of::<*const ()>();\n assert_eq!(size_of_ptr, size_of_val(&five));\n assert_eq!(size_of_ptr, size_of_val(&thin_slice));
    Run
    \n-

    Implementations\u00a7

    source\u00a7

    impl<T> ThinBox<T>

    source

    pub fn new(value: T) -> Self

    \ud83d\udd2cThis is a nightly-only experimental API. (thin_box #92791)

    Moves a type to the heap with its Metadata stored in the heap allocation instead of on\n+

    Implementations\u00a7

    source\u00a7

    impl<T> ThinBox<T>

    source

    pub fn new(value: T) -> Self

    \ud83d\udd2cThis is a nightly-only experimental API. (thin_box #92791)

    Moves a type to the heap with its Metadata stored in the heap allocation instead of on\n the stack.

    \n
    \u00a7Examples
    \n
    #![feature(thin_box)]\n use std::boxed::ThinBox;\n \n let five = ThinBox::new(5);
    Run
    \n-
    source

    pub fn try_new(value: T) -> Result<Self, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (thin_box #92791)

    Moves a type to the heap with its Metadata stored in the heap allocation instead of on\n+

    source

    pub fn try_new(value: T) -> Result<Self, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (thin_box #92791)

    Moves a type to the heap with its Metadata stored in the heap allocation instead of on\n the stack. Returns an error if allocation fails, instead of aborting.

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api)]\n #![feature(thin_box)]\n use std::boxed::ThinBox;\n \n let five = ThinBox::try_new(5)?;
    Run
    \n-
    source\u00a7

    impl<Dyn: ?Sized> ThinBox<Dyn>

    source

    pub fn new_unsize<T>(value: T) -> Self
    where\n- T: Unsize<Dyn>,

    \ud83d\udd2cThis is a nightly-only experimental API. (thin_box #92791)

    Moves a type to the heap with its Metadata stored in the heap allocation instead of on\n+

    source\u00a7

    impl<Dyn: ?Sized> ThinBox<Dyn>

    source

    pub fn new_unsize<T>(value: T) -> Self
    where\n+ T: Unsize<Dyn>,

    \ud83d\udd2cThis is a nightly-only experimental API. (thin_box #92791)

    Moves a type to the heap with its Metadata stored in the heap allocation instead of on\n the stack.

    \n
    \u00a7Examples
    \n
    #![feature(thin_box)]\n use std::boxed::ThinBox;\n \n let thin_slice = ThinBox::<[i32]>::new_unsize([1, 2, 3, 4]);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T: ?Sized + Debug> Debug for ThinBox<T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T: ?Sized> Deref for ThinBox<T>

    \u00a7

    type Target = T

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &T

    Dereferences the value.
    source\u00a7

    impl<T: ?Sized> DerefMut for ThinBox<T>

    source\u00a7

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    source\u00a7

    impl<T: ?Sized + Display> Display for ThinBox<T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T: ?Sized> Drop for ThinBox<T>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source\u00a7

    impl<T: ?Sized + Error> Error for ThinBox<T>

    source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 \u00b7 source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 \u00b7 source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more
    source\u00a7

    impl<T: ?Sized + Send> Send for ThinBox<T>

    ThinBox<T> is Send if T is Send because the data is owned.

    \n-
    source\u00a7

    impl<T: ?Sized + Sync> Sync for ThinBox<T>

    ThinBox<T> is Sync if T is Sync because the data is owned.

    \n-

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T: ?Sized> Freeze for ThinBox<T>

    \u00a7

    impl<T: ?Sized> RefUnwindSafe for ThinBox<T>
    where\n- T: RefUnwindSafe,

    \u00a7

    impl<T: ?Sized> Unpin for ThinBox<T>
    where\n- T: Unpin,

    \u00a7

    impl<T: ?Sized> UnwindSafe for ThinBox<T>
    where\n- T: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T: ?Sized + Debug> Debug for ThinBox<T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T: ?Sized> Deref for ThinBox<T>

    \u00a7

    type Target = T

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &T

    Dereferences the value.
    source\u00a7

    impl<T: ?Sized> DerefMut for ThinBox<T>

    source\u00a7

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    source\u00a7

    impl<T: ?Sized + Display> Display for ThinBox<T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T: ?Sized> Drop for ThinBox<T>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source\u00a7

    impl<T: ?Sized + Error> Error for ThinBox<T>

    source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 \u00b7 source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 \u00b7 source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more
    source\u00a7

    impl<T: ?Sized + Send> Send for ThinBox<T>

    ThinBox<T> is Send if T is Send because the data is owned.

    \n+
    source\u00a7

    impl<T: ?Sized + Sync> Sync for ThinBox<T>

    ThinBox<T> is Sync if T is Sync because the data is owned.

    \n+

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T: ?Sized> Freeze for ThinBox<T>

    \u00a7

    impl<T: ?Sized> RefUnwindSafe for ThinBox<T>
    where\n+ T: RefUnwindSafe,

    \u00a7

    impl<T: ?Sized> Unpin for ThinBox<T>
    where\n+ T: Unpin,

    \u00a7

    impl<T: ?Sized> UnwindSafe for ThinBox<T>
    where\n+ T: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToString for T
    where\n- T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Display + ?Sized,
    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.BinaryHeap.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.BinaryHeap.html", "unified_diff": "@@ -1,12 +1,12 @@\n BinaryHeap in alloc::collections::binary_heap - Rust
    \n

    Struct alloc::collections::binary_heap::BinaryHeap

    1.0.0 \u00b7 source \u00b7
    pub struct BinaryHeap<T, A: Allocator = Global> { /* private fields */ }
    Expand description

    A priority queue implemented with a binary heap.

    \n

    This will be a max-heap.

    \n

    It is a logic error for an item to be modified in such a way that the\n-item\u2019s ordering relative to any other item, as determined by the Ord\n+item\u2019s ordering relative to any other item, as determined by the Ord\n trait, changes while it is in the heap. This is normally only possible\n through interior mutability, global state, I/O, or unsafe code. The\n behavior resulting from such a logic error is not specified, but will\n be encapsulated to the BinaryHeap that observed the logic error and not\n result in undefined behavior. This could include panics, incorrect results,\n aborts, memory leaks, and non-termination.

    \n

    As long as no elements change their relative order while being in the heap\n@@ -57,15 +57,15 @@\n assert!(heap.is_empty())Run

    \n

    A BinaryHeap with a known list of items can be initialized from an array:

    \n \n
    use std::collections::BinaryHeap;\n \n let heap = BinaryHeap::from([1, 5, 2]);
    Run
    \n

    \u00a7Min-heap

    \n-

    Either core::cmp::Reverse or a custom Ord implementation can be used to\n+

    Either core::cmp::Reverse or a custom Ord implementation can be used to\n make BinaryHeap a min-heap. This makes heap.pop() return the smallest\n value instead of the greatest one.

    \n \n
    use std::collections::BinaryHeap;\n use std::cmp::Reverse;\n \n let mut heap = BinaryHeap::new();\n@@ -82,55 +82,55 @@\n assert_eq!(heap.pop(), None);
    Run
    \n

    \u00a7Time complexity

    \n \n
    pushpoppeek/peek_mut
    O(1)~O(log(n))O(1)
    \n
    \n

    The value for push is an expected cost; the method documentation gives a\n more detailed analysis.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<T: Ord> BinaryHeap<T>

    const: unstable \u00b7 source

    pub fn new() -> BinaryHeap<T>

    Creates an empty BinaryHeap as a max-heap.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<T: Ord> BinaryHeap<T>

    const: unstable \u00b7 source

    pub fn new() -> BinaryHeap<T>

    Creates an empty BinaryHeap as a max-heap.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    use std::collections::BinaryHeap;\n let mut heap = BinaryHeap::new();\n heap.push(4);
    Run
    \n-
    source

    pub fn with_capacity(capacity: usize) -> BinaryHeap<T>

    Creates an empty BinaryHeap with at least the specified capacity.

    \n+
    source

    pub fn with_capacity(capacity: usize) -> BinaryHeap<T>

    Creates an empty BinaryHeap with at least the specified capacity.

    \n

    The binary heap will be able to hold at least capacity elements without\n reallocating. This method is allowed to allocate for more elements than\n capacity. If capacity is 0, the binary heap will not allocate.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    use std::collections::BinaryHeap;\n let mut heap = BinaryHeap::with_capacity(10);\n heap.push(4);
    Run
    \n-
    source\u00a7

    impl<T: Ord, A: Allocator> BinaryHeap<T, A>

    const: unstable \u00b7 source

    pub fn new_in(alloc: A) -> BinaryHeap<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Creates an empty BinaryHeap as a max-heap, using A as allocator.

    \n+
    source\u00a7

    impl<T: Ord, A: Allocator> BinaryHeap<T, A>

    const: unstable \u00b7 source

    pub fn new_in(alloc: A) -> BinaryHeap<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Creates an empty BinaryHeap as a max-heap, using A as allocator.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    #![feature(allocator_api)]\n \n use std::alloc::System;\n use std::collections::BinaryHeap;\n let mut heap = BinaryHeap::new_in(System);\n heap.push(4);
    Run
    \n-
    source

    pub fn with_capacity_in(capacity: usize, alloc: A) -> BinaryHeap<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Creates an empty BinaryHeap with at least the specified capacity, using A as allocator.

    \n+
    source

    pub fn with_capacity_in(capacity: usize, alloc: A) -> BinaryHeap<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Creates an empty BinaryHeap with at least the specified capacity, using A as allocator.

    \n

    The binary heap will be able to hold at least capacity elements without\n reallocating. This method is allowed to allocate for more elements than\n capacity. If capacity is 0, the binary heap will not allocate.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    #![feature(allocator_api)]\n \n use std::alloc::System;\n use std::collections::BinaryHeap;\n let mut heap = BinaryHeap::with_capacity_in(10, System);\n heap.push(4);
    Run
    \n-
    1.12.0 \u00b7 source

    pub fn peek_mut(&mut self) -> Option<PeekMut<'_, T, A>>

    Returns a mutable reference to the greatest item in the binary heap, or\n+

    1.12.0 \u00b7 source

    pub fn peek_mut(&mut self) -> Option<PeekMut<'_, T, A>>

    Returns a mutable reference to the greatest item in the binary heap, or\n None if it is empty.

    \n

    Note: If the PeekMut value is leaked, some heap elements might get\n leaked along with it, but the remaining elements will remain a valid\n heap.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n@@ -145,15 +145,15 @@\n let mut val = heap.peek_mut().unwrap();\n *val = 0;\n }\n assert_eq!(heap.peek(), Some(&2));Run
    \n
    \u00a7Time complexity
    \n

    If the item is modified then the worst case time complexity is O(log(n)),\n otherwise it\u2019s O(1).

    \n-
    source

    pub fn pop(&mut self) -> Option<T>

    Removes the greatest item from the binary heap and returns it, or None if it\n+

    source

    pub fn pop(&mut self) -> Option<T>

    Removes the greatest item from the binary heap and returns it, or None if it\n is empty.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    use std::collections::BinaryHeap;\n let mut heap = BinaryHeap::from([1, 3]);\n \n@@ -195,15 +195,15 @@\n \n let mut heap = BinaryHeap::from([1, 2, 4, 5, 7]);\n heap.push(6);\n heap.push(3);\n \n let vec = heap.into_sorted_vec();\n assert_eq!(vec, [1, 2, 3, 4, 5, 6, 7]);
    Run
    \n-
    1.11.0 \u00b7 source

    pub fn append(&mut self, other: &mut Self)

    Moves all the elements of other into self, leaving other empty.

    \n+
    1.11.0 \u00b7 source

    pub fn append(&mut self, other: &mut Self)

    Moves all the elements of other into self, leaving other empty.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    use std::collections::BinaryHeap;\n \n let mut a = BinaryHeap::from([-10, 1, 2, 3, 3]);\n let mut b = BinaryHeap::from([-20, 5, 43]);\n@@ -230,15 +230,15 @@\n \n let mut heap = BinaryHeap::from([1, 2, 3, 4, 5]);\n assert_eq!(heap.len(), 5);\n \n drop(heap.drain_sorted()); // removes all elements in heap order\n assert_eq!(heap.len(), 0);
    Run
    \n
    1.70.0 \u00b7 source

    pub fn retain<F>(&mut self, f: F)
    where\n- F: FnMut(&T) -> bool,

    Retains only the elements specified by the predicate.

    \n+ F: FnMut(&T) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all elements e for which f(&e) returns\n false. The elements are visited in unsorted (and unspecified) order.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    use std::collections::BinaryHeap;\n \n@@ -265,72 +265,72 @@\n 

    Basic usage:

    \n \n
    #![feature(binary_heap_into_iter_sorted)]\n use std::collections::BinaryHeap;\n let heap = BinaryHeap::from([1, 2, 3, 4, 5]);\n \n assert_eq!(heap.into_iter_sorted().take(2).collect::<Vec<_>>(), [5, 4]);
    Run
    \n-
    source

    pub fn peek(&self) -> Option<&T>

    Returns the greatest item in the binary heap, or None if it is empty.

    \n+
    source

    pub fn peek(&self) -> Option<&T>

    Returns the greatest item in the binary heap, or None if it is empty.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    use std::collections::BinaryHeap;\n let mut heap = BinaryHeap::new();\n assert_eq!(heap.peek(), None);\n \n heap.push(1);\n heap.push(5);\n heap.push(2);\n assert_eq!(heap.peek(), Some(&5));\n 
    Run
    \n
    \u00a7Time complexity
    \n

    Cost is O(1) in the worst case.

    \n-
    source

    pub fn capacity(&self) -> usize

    Returns the number of elements the binary heap can hold without reallocating.

    \n+
    source

    pub fn capacity(&self) -> usize

    Returns the number of elements the binary heap can hold without reallocating.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    use std::collections::BinaryHeap;\n let mut heap = BinaryHeap::with_capacity(100);\n assert!(heap.capacity() >= 100);\n heap.push(4);
    Run
    \n-
    source

    pub fn reserve_exact(&mut self, additional: usize)

    Reserves the minimum capacity for at least additional elements more than\n+

    source

    pub fn reserve_exact(&mut self, additional: usize)

    Reserves the minimum capacity for at least additional elements more than\n the current length. Unlike reserve, this will not\n deliberately over-allocate to speculatively avoid frequent allocations.\n After calling reserve_exact, capacity will be greater than or equal to\n self.len() + additional. Does nothing if the capacity is already\n sufficient.

    \n
    \u00a7Panics
    \n-

    Panics if the new capacity overflows usize.

    \n+

    Panics if the new capacity overflows usize.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    use std::collections::BinaryHeap;\n let mut heap = BinaryHeap::new();\n heap.reserve_exact(100);\n assert!(heap.capacity() >= 100);\n heap.push(4);
    Run
    \n-
    source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional elements more than the\n+

    source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional elements more than the\n current length. The allocator may reserve more space to speculatively\n avoid frequent allocations. After calling reserve,\n capacity will be greater than or equal to self.len() + additional.\n Does nothing if capacity is already sufficient.

    \n
    \u00a7Panics
    \n-

    Panics if the new capacity overflows usize.

    \n+

    Panics if the new capacity overflows usize.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    use std::collections::BinaryHeap;\n let mut heap = BinaryHeap::new();\n heap.reserve(100);\n assert!(heap.capacity() >= 100);\n heap.push(4);
    Run
    \n
    1.63.0 \u00b7 source

    pub fn try_reserve_exact(\n &mut self,\n- additional: usize\n-) -> Result<(), TryReserveError>

    Tries to reserve the minimum capacity for at least additional elements\n+ additional: usize\n+) -> Result<(), TryReserveError>

    Tries to reserve the minimum capacity for at least additional elements\n more than the current length. Unlike try_reserve, this will not\n deliberately over-allocate to speculatively avoid frequent allocations.\n After calling try_reserve_exact, capacity will be greater than or\n equal to self.len() + additional if it returns Ok(()).\n Does nothing if the capacity is already sufficient.

    \n

    Note that the allocator may give the collection more space than it\n requests. Therefore, capacity can not be relied upon to be precisely\n@@ -349,15 +349,15 @@\n heap.try_reserve_exact(data.len())?;\n \n // Now we know this can't OOM in the middle of our complex work\n heap.extend(data.iter());\n \n Ok(heap.pop())\n }Run

    \n-
    1.63.0 \u00b7 source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional elements more than the\n+

    1.63.0 \u00b7 source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional elements more than the\n current length. The allocator may reserve more space to speculatively\n avoid frequent allocations. After calling try_reserve, capacity will be\n greater than or equal to self.len() + additional if it returns\n Ok(()). Does nothing if capacity is already sufficient. This method\n preserves the contents even if an error occurs.

    \n
    \u00a7Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\n@@ -383,26 +383,26 @@\n \n

    use std::collections::BinaryHeap;\n let mut heap: BinaryHeap<i32> = BinaryHeap::with_capacity(100);\n \n assert!(heap.capacity() >= 100);\n heap.shrink_to_fit();\n assert!(heap.capacity() == 0);
    Run
    \n-
    1.56.0 \u00b7 source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Discards capacity with a lower bound.

    \n+
    1.56.0 \u00b7 source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Discards capacity with a lower bound.

    \n

    The capacity will remain at least as large as both the length\n and the supplied value.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    \u00a7Examples
    \n
    use std::collections::BinaryHeap;\n let mut heap: BinaryHeap<i32> = BinaryHeap::with_capacity(100);\n \n assert!(heap.capacity() >= 100);\n heap.shrink_to(10);\n assert!(heap.capacity() >= 10);
    Run
    \n-
    source

    pub fn as_slice(&self) -> &[T]

    \ud83d\udd2cThis is a nightly-only experimental API. (binary_heap_as_slice #83659)

    Returns a slice of all values in the underlying vector, in arbitrary\n+

    source

    pub fn as_slice(&self) -> &[T]

    \ud83d\udd2cThis is a nightly-only experimental API. (binary_heap_as_slice #83659)

    Returns a slice of all values in the underlying vector, in arbitrary\n order.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    #![feature(binary_heap_as_slice)]\n use std::collections::BinaryHeap;\n use std::io::{self, Write};\n@@ -419,24 +419,24 @@\n let heap = BinaryHeap::from([1, 2, 3, 4, 5, 6, 7]);\n let vec = heap.into_vec();\n \n // Will print in some order\n for x in vec {\n     println!(\"{x}\");\n }
    Run
    \n-
    source

    pub fn allocator(&self) -> &A

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Returns a reference to the underlying allocator.

    \n-
    source

    pub fn len(&self) -> usize

    Returns the length of the binary heap.

    \n+
    source

    pub fn allocator(&self) -> &A

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Returns a reference to the underlying allocator.

    \n+
    source

    pub fn len(&self) -> usize

    Returns the length of the binary heap.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    use std::collections::BinaryHeap;\n let heap = BinaryHeap::from([1, 3]);\n \n assert_eq!(heap.len(), 2);
    Run
    \n-
    source

    pub fn is_empty(&self) -> bool

    Checks if the binary heap is empty.

    \n+
    source

    pub fn is_empty(&self) -> bool

    Checks if the binary heap is empty.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    use std::collections::BinaryHeap;\n let mut heap = BinaryHeap::new();\n \n assert!(heap.is_empty());\n@@ -472,58 +472,58 @@\n let mut heap = BinaryHeap::from([1, 3]);\n \n assert!(!heap.is_empty());\n \n heap.clear();\n \n assert!(heap.is_empty());
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T: Clone, A: Allocator + Clone> Clone for BinaryHeap<T, A>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.4.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for BinaryHeap<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T: Ord> Default for BinaryHeap<T>

    source\u00a7

    fn default() -> BinaryHeap<T>

    Creates an empty BinaryHeap<T>.

    \n-
    1.2.0 \u00b7 source\u00a7

    impl<'a, T: 'a + Ord + Copy, A: Allocator> Extend<&'a T> for BinaryHeap<T, A>

    source\u00a7

    fn extend<I: IntoIterator<Item = &'a T>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, item: &'a T)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    source\u00a7

    impl<T: Ord, A: Allocator> Extend<T> for BinaryHeap<T, A>

    source\u00a7

    fn extend<I: IntoIterator<Item = T>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, item: T)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    1.56.0 \u00b7 source\u00a7

    impl<T: Ord, const N: usize> From<[T; N]> for BinaryHeap<T>

    source\u00a7

    fn from(arr: [T; N]) -> Self

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T: Clone, A: Allocator + Clone> Clone for BinaryHeap<T, A>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.4.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for BinaryHeap<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T: Ord> Default for BinaryHeap<T>

    source\u00a7

    fn default() -> BinaryHeap<T>

    Creates an empty BinaryHeap<T>.

    \n+
    1.2.0 \u00b7 source\u00a7

    impl<'a, T: 'a + Ord + Copy, A: Allocator> Extend<&'a T> for BinaryHeap<T, A>

    source\u00a7

    fn extend<I: IntoIterator<Item = &'a T>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, item: &'a T)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    source\u00a7

    impl<T: Ord, A: Allocator> Extend<T> for BinaryHeap<T, A>

    source\u00a7

    fn extend<I: IntoIterator<Item = T>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, item: T)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    1.56.0 \u00b7 source\u00a7

    impl<T: Ord, const N: usize> From<[T; N]> for BinaryHeap<T>

    source\u00a7

    fn from(arr: [T; N]) -> Self

    \n
    use std::collections::BinaryHeap;\n \n let mut h1 = BinaryHeap::from([1, 4, 2, 3]);\n let mut h2: BinaryHeap<_> = [1, 4, 2, 3].into();\n while let Some((a, b)) = h1.pop().zip(h2.pop()) {\n     assert_eq!(a, b);\n }
    Run
    \n-
    1.5.0 \u00b7 source\u00a7

    impl<T, A: Allocator> From<BinaryHeap<T, A>> for Vec<T, A>

    source\u00a7

    fn from(heap: BinaryHeap<T, A>) -> Vec<T, A>

    Converts a BinaryHeap<T> into a Vec<T>.

    \n+
    1.5.0 \u00b7 source\u00a7

    impl<T, A: Allocator> From<BinaryHeap<T, A>> for Vec<T, A>

    source\u00a7

    fn from(heap: BinaryHeap<T, A>) -> Vec<T, A>

    Converts a BinaryHeap<T> into a Vec<T>.

    \n

    This conversion requires no data movement or allocation, and has\n constant time complexity.

    \n-
    1.5.0 \u00b7 source\u00a7

    impl<T: Ord, A: Allocator> From<Vec<T, A>> for BinaryHeap<T, A>

    source\u00a7

    fn from(vec: Vec<T, A>) -> BinaryHeap<T, A>

    Converts a Vec<T> into a BinaryHeap<T>.

    \n+
    1.5.0 \u00b7 source\u00a7

    impl<T: Ord, A: Allocator> From<Vec<T, A>> for BinaryHeap<T, A>

    source\u00a7

    fn from(vec: Vec<T, A>) -> BinaryHeap<T, A>

    Converts a Vec<T> into a BinaryHeap<T>.

    \n

    This conversion happens in-place, and has O(n) time complexity.

    \n-
    source\u00a7

    impl<T: Ord> FromIterator<T> for BinaryHeap<T>

    source\u00a7

    fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> BinaryHeap<T>

    Creates a value from an iterator. Read more
    source\u00a7

    impl<'a, T, A: Allocator> IntoIterator for &'a BinaryHeap<T, A>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = Iter<'a, T>

    Which kind of iterator are we turning this into?
    source\u00a7

    fn into_iter(self) -> Iter<'a, T> \u24d8

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, A: Allocator> IntoIterator for BinaryHeap<T, A>

    source\u00a7

    fn into_iter(self) -> IntoIter<T, A> \u24d8

    Creates a consuming iterator, that is, one that moves each value out of\n+

    source\u00a7

    impl<T: Ord> FromIterator<T> for BinaryHeap<T>

    source\u00a7

    fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> BinaryHeap<T>

    Creates a value from an iterator. Read more
    source\u00a7

    impl<'a, T, A: Allocator> IntoIterator for &'a BinaryHeap<T, A>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = Iter<'a, T>

    Which kind of iterator are we turning this into?
    source\u00a7

    fn into_iter(self) -> Iter<'a, T> \u24d8

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, A: Allocator> IntoIterator for BinaryHeap<T, A>

    source\u00a7

    fn into_iter(self) -> IntoIter<T, A> \u24d8

    Creates a consuming iterator, that is, one that moves each value out of\n the binary heap in arbitrary order. The binary heap cannot be used\n after calling this.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    use std::collections::BinaryHeap;\n let heap = BinaryHeap::from([1, 2, 3, 4]);\n \n // Print 1, 2, 3, 4 in arbitrary order\n for x in heap.into_iter() {\n     // x has type i32, not &i32\n     println!(\"{x}\");\n }
    Run
    \n-
    \u00a7

    type Item = T

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = IntoIter<T, A>

    Which kind of iterator are we turning this into?

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for BinaryHeap<T, A>
    where\n- A: Freeze,

    \u00a7

    impl<T, A> RefUnwindSafe for BinaryHeap<T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<T, A> Send for BinaryHeap<T, A>
    where\n- A: Send,\n- T: Send,

    \u00a7

    impl<T, A> Sync for BinaryHeap<T, A>
    where\n- A: Sync,\n- T: Sync,

    \u00a7

    impl<T, A> Unpin for BinaryHeap<T, A>
    where\n- A: Unpin,\n- T: Unpin,

    \u00a7

    impl<T, A> UnwindSafe for BinaryHeap<T, A>
    where\n- A: UnwindSafe,\n- T: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+
    \u00a7

    type Item = T

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = IntoIter<T, A>

    Which kind of iterator are we turning this into?

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for BinaryHeap<T, A>
    where\n+ A: Freeze,

    \u00a7

    impl<T, A> RefUnwindSafe for BinaryHeap<T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<T, A> Send for BinaryHeap<T, A>
    where\n+ A: Send,\n+ T: Send,

    \u00a7

    impl<T, A> Sync for BinaryHeap<T, A>
    where\n+ A: Sync,\n+ T: Sync,

    \u00a7

    impl<T, A> Unpin for BinaryHeap<T, A>
    where\n+ A: Unpin,\n+ T: Unpin,

    \u00a7

    impl<T, A> UnwindSafe for BinaryHeap<T, A>
    where\n+ A: UnwindSafe,\n+ T: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.Drain.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.Drain.html", "unified_diff": "@@ -1,220 +1,220 @@\n Drain in alloc::collections::binary_heap - Rust
    \n

    Struct alloc::collections::binary_heap::Drain

    1.6.0 \u00b7 source \u00b7
    pub struct Drain<'a, T: 'a, A: Allocator = Global> { /* private fields */ }
    Expand description

    A draining iterator over the elements of a BinaryHeap.

    \n

    This struct is created by BinaryHeap::drain(). See its\n documentation for more.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<T, A: Allocator> Drain<'_, T, A>

    source

    pub fn allocator(&self) -> &A

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Returns a reference to the underlying allocator.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, T: Debug + 'a, A: Debug + Allocator> Debug for Drain<'a, T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T, A: Allocator> DoubleEndedIterator for Drain<'_, T, A>

    source\u00a7

    fn next_back(&mut self) -> Option<T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T, A: Allocator> ExactSizeIterator for Drain<'_, T, A>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<T, A: Allocator> Iterator for Drain<'_, T, A>

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Implementations\u00a7

    source\u00a7

    impl<T, A: Allocator> Drain<'_, T, A>

    source

    pub fn allocator(&self) -> &A

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Returns a reference to the underlying allocator.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, T: Debug + 'a, A: Debug + Allocator> Debug for Drain<'a, T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T, A: Allocator> DoubleEndedIterator for Drain<'_, T, A>

    source\u00a7

    fn next_back(&mut self) -> Option<T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T, A: Allocator> ExactSizeIterator for Drain<'_, T, A>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<T, A: Allocator> Iterator for Drain<'_, T, A>

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T, A: Allocator> FusedIterator for Drain<'_, T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, A> Freeze for Drain<'a, T, A>

    \u00a7

    impl<'a, T, A> RefUnwindSafe for Drain<'a, T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Send for Drain<'a, T, A>
    where\n- A: Send,\n- T: Send,

    \u00a7

    impl<'a, T, A> Sync for Drain<'a, T, A>
    where\n- A: Sync,\n- T: Sync,

    \u00a7

    impl<'a, T, A> Unpin for Drain<'a, T, A>

    \u00a7

    impl<'a, T, A> UnwindSafe for Drain<'a, T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T, A: Allocator> FusedIterator for Drain<'_, T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, A> Freeze for Drain<'a, T, A>

    \u00a7

    impl<'a, T, A> RefUnwindSafe for Drain<'a, T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Send for Drain<'a, T, A>
    where\n+ A: Send,\n+ T: Send,

    \u00a7

    impl<'a, T, A> Sync for Drain<'a, T, A>
    where\n+ A: Sync,\n+ T: Sync,

    \u00a7

    impl<'a, T, A> Unpin for Drain<'a, T, A>

    \u00a7

    impl<'a, T, A> UnwindSafe for Drain<'a, T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.DrainSorted.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.DrainSorted.html", "unified_diff": "@@ -1,201 +1,201 @@\n DrainSorted in alloc::collections::binary_heap - Rust
    \n-
    pub struct DrainSorted<'a, T: Ord, A: Allocator = Global> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (binary_heap_drain_sorted #59278)
    Expand description

    A draining iterator over the elements of a BinaryHeap.

    \n+
    pub struct DrainSorted<'a, T: Ord, A: Allocator = Global> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (binary_heap_drain_sorted #59278)
    Expand description

    A draining iterator over the elements of a BinaryHeap.

    \n

    This struct is created by BinaryHeap::drain_sorted(). See its\n documentation for more.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, T: Ord, A: Allocator> DrainSorted<'a, T, A>

    source

    pub fn allocator(&self) -> &A

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Returns a reference to the underlying allocator.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, T: Debug + Ord, A: Debug + Allocator> Debug for DrainSorted<'a, T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T: Ord, A: Allocator> Drop for DrainSorted<'a, T, A>

    source\u00a7

    fn drop(&mut self)

    Removes heap elements in heap order.

    \n-
    source\u00a7

    impl<T: Ord, A: Allocator> ExactSizeIterator for DrainSorted<'_, T, A>

    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<T: Ord, A: Allocator> Iterator for DrainSorted<'_, T, A>

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Implementations\u00a7

    source\u00a7

    impl<'a, T: Ord, A: Allocator> DrainSorted<'a, T, A>

    source

    pub fn allocator(&self) -> &A

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Returns a reference to the underlying allocator.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, T: Debug + Ord, A: Debug + Allocator> Debug for DrainSorted<'a, T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T: Ord, A: Allocator> Drop for DrainSorted<'a, T, A>

    source\u00a7

    fn drop(&mut self)

    Removes heap elements in heap order.

    \n+
    source\u00a7

    impl<T: Ord, A: Allocator> ExactSizeIterator for DrainSorted<'_, T, A>

    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<T: Ord, A: Allocator> Iterator for DrainSorted<'_, T, A>

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<T: Ord, A: Allocator> FusedIterator for DrainSorted<'_, T, A>

    source\u00a7

    impl<T: Ord, A: Allocator> TrustedLen for DrainSorted<'_, T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, A> Freeze for DrainSorted<'a, T, A>

    \u00a7

    impl<'a, T, A> RefUnwindSafe for DrainSorted<'a, T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Send for DrainSorted<'a, T, A>
    where\n- A: Send,\n- T: Send,

    \u00a7

    impl<'a, T, A> Sync for DrainSorted<'a, T, A>
    where\n- A: Sync,\n- T: Sync,

    \u00a7

    impl<'a, T, A> Unpin for DrainSorted<'a, T, A>

    \u00a7

    impl<'a, T, A = Global> !UnwindSafe for DrainSorted<'a, T, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<T: Ord, A: Allocator> FusedIterator for DrainSorted<'_, T, A>

    source\u00a7

    impl<T: Ord, A: Allocator> TrustedLen for DrainSorted<'_, T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, A> Freeze for DrainSorted<'a, T, A>

    \u00a7

    impl<'a, T, A> RefUnwindSafe for DrainSorted<'a, T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Send for DrainSorted<'a, T, A>
    where\n+ A: Send,\n+ T: Send,

    \u00a7

    impl<'a, T, A> Sync for DrainSorted<'a, T, A>
    where\n+ A: Sync,\n+ T: Sync,

    \u00a7

    impl<'a, T, A> Unpin for DrainSorted<'a, T, A>

    \u00a7

    impl<'a, T, A = Global> !UnwindSafe for DrainSorted<'a, T, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.IntoIter.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.IntoIter.html", "unified_diff": "@@ -1,228 +1,228 @@\n IntoIter in alloc::collections::binary_heap - Rust
    \n

    Struct alloc::collections::binary_heap::IntoIter

    1.0.0 \u00b7 source \u00b7
    pub struct IntoIter<T, A: Allocator = Global> { /* private fields */ }
    Expand description

    An owning iterator over the elements of a BinaryHeap.

    \n

    This struct is created by BinaryHeap::into_iter()\n-(provided by the IntoIterator trait). See its documentation for more.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<T, A: Allocator> IntoIter<T, A>

    source

    pub fn allocator(&self) -> &A

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Returns a reference to the underlying allocator.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T: Clone, A: Clone + Allocator> Clone for IntoIter<T, A>

    source\u00a7

    fn clone(&self) -> IntoIter<T, A> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for IntoIter<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<T> Default for IntoIter<T>

    source\u00a7

    fn default() -> Self

    Creates an empty binary_heap::IntoIter.

    \n+(provided by the IntoIterator trait). See its documentation for more.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<T, A: Allocator> IntoIter<T, A>

    source

    pub fn allocator(&self) -> &A

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Returns a reference to the underlying allocator.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T: Clone, A: Clone + Allocator> Clone for IntoIter<T, A>

    source\u00a7

    fn clone(&self) -> IntoIter<T, A> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for IntoIter<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<T> Default for IntoIter<T>

    source\u00a7

    fn default() -> Self

    Creates an empty binary_heap::IntoIter.

    \n \n
    let iter: binary_heap::IntoIter<u8> = Default::default();\n assert_eq!(iter.len(), 0);
    Run
    \n-
    source\u00a7

    impl<T, A: Allocator> DoubleEndedIterator for IntoIter<T, A>

    source\u00a7

    fn next_back(&mut self) -> Option<T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T, A: Allocator> ExactSizeIterator for IntoIter<T, A>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<T, A: Allocator> Iterator for IntoIter<T, A>

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    source\u00a7

    impl<T, A: Allocator> DoubleEndedIterator for IntoIter<T, A>

    source\u00a7

    fn next_back(&mut self) -> Option<T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T, A: Allocator> ExactSizeIterator for IntoIter<T, A>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<T, A: Allocator> Iterator for IntoIter<T, A>

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T, A: Allocator> FusedIterator for IntoIter<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for IntoIter<T, A>
    where\n- A: Freeze,

    \u00a7

    impl<T, A> RefUnwindSafe for IntoIter<T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<T, A> Send for IntoIter<T, A>
    where\n- A: Send,\n- T: Send,

    \u00a7

    impl<T, A> Sync for IntoIter<T, A>
    where\n- A: Sync,\n- T: Sync,

    \u00a7

    impl<T, A> Unpin for IntoIter<T, A>
    where\n- A: Unpin,\n- T: Unpin,

    \u00a7

    impl<T, A> UnwindSafe for IntoIter<T, A>
    where\n- A: UnwindSafe,\n- T: UnwindSafe + RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T, A: Allocator> FusedIterator for IntoIter<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for IntoIter<T, A>
    where\n+ A: Freeze,

    \u00a7

    impl<T, A> RefUnwindSafe for IntoIter<T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<T, A> Send for IntoIter<T, A>
    where\n+ A: Send,\n+ T: Send,

    \u00a7

    impl<T, A> Sync for IntoIter<T, A>
    where\n+ A: Sync,\n+ T: Sync,

    \u00a7

    impl<T, A> Unpin for IntoIter<T, A>
    where\n+ A: Unpin,\n+ T: Unpin,

    \u00a7

    impl<T, A> UnwindSafe for IntoIter<T, A>
    where\n+ A: UnwindSafe,\n+ T: UnwindSafe + RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.IntoIterSorted.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.IntoIterSorted.html", "unified_diff": "@@ -1,203 +1,203 @@\n IntoIterSorted in alloc::collections::binary_heap - Rust
    \n-
    pub struct IntoIterSorted<T, A: Allocator = Global> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (binary_heap_into_iter_sorted #59278)

    Implementations\u00a7

    source\u00a7

    impl<T, A: Allocator> IntoIterSorted<T, A>

    source

    pub fn allocator(&self) -> &A

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Returns a reference to the underlying allocator.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T: Clone, A: Clone + Allocator> Clone for IntoIterSorted<T, A>

    source\u00a7

    fn clone(&self) -> IntoIterSorted<T, A> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<T: Debug, A: Debug + Allocator> Debug for IntoIterSorted<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T: Ord, A: Allocator> ExactSizeIterator for IntoIterSorted<T, A>

    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<T: Ord, A: Allocator> Iterator for IntoIterSorted<T, A>

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+
    pub struct IntoIterSorted<T, A: Allocator = Global> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (binary_heap_into_iter_sorted #59278)

    Implementations\u00a7

    source\u00a7

    impl<T, A: Allocator> IntoIterSorted<T, A>

    source

    pub fn allocator(&self) -> &A

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Returns a reference to the underlying allocator.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T: Clone, A: Clone + Allocator> Clone for IntoIterSorted<T, A>

    source\u00a7

    fn clone(&self) -> IntoIterSorted<T, A> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<T: Debug, A: Debug + Allocator> Debug for IntoIterSorted<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T: Ord, A: Allocator> ExactSizeIterator for IntoIterSorted<T, A>

    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<T: Ord, A: Allocator> Iterator for IntoIterSorted<T, A>

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<T: Ord, A: Allocator> FusedIterator for IntoIterSorted<T, A>

    source\u00a7

    impl<T: Ord, A: Allocator> TrustedLen for IntoIterSorted<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for IntoIterSorted<T, A>
    where\n- A: Freeze,

    \u00a7

    impl<T, A> RefUnwindSafe for IntoIterSorted<T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<T, A> Send for IntoIterSorted<T, A>
    where\n- A: Send,\n- T: Send,

    \u00a7

    impl<T, A> Sync for IntoIterSorted<T, A>
    where\n- A: Sync,\n- T: Sync,

    \u00a7

    impl<T, A> Unpin for IntoIterSorted<T, A>
    where\n- A: Unpin,\n- T: Unpin,

    \u00a7

    impl<T, A> UnwindSafe for IntoIterSorted<T, A>
    where\n- A: UnwindSafe,\n- T: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<T: Ord, A: Allocator> FusedIterator for IntoIterSorted<T, A>

    source\u00a7

    impl<T: Ord, A: Allocator> TrustedLen for IntoIterSorted<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for IntoIterSorted<T, A>
    where\n+ A: Freeze,

    \u00a7

    impl<T, A> RefUnwindSafe for IntoIterSorted<T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<T, A> Send for IntoIterSorted<T, A>
    where\n+ A: Send,\n+ T: Send,

    \u00a7

    impl<T, A> Sync for IntoIterSorted<T, A>
    where\n+ A: Sync,\n+ T: Sync,

    \u00a7

    impl<T, A> Unpin for IntoIterSorted<T, A>
    where\n+ A: Unpin,\n+ T: Unpin,

    \u00a7

    impl<T, A> UnwindSafe for IntoIterSorted<T, A>
    where\n+ A: UnwindSafe,\n+ T: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.Iter.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.Iter.html", "unified_diff": "@@ -1,216 +1,216 @@\n Iter in alloc::collections::binary_heap - Rust
    \n

    Struct alloc::collections::binary_heap::Iter

    1.0.0 \u00b7 source \u00b7
    pub struct Iter<'a, T: 'a> { /* private fields */ }
    Expand description

    An iterator over the elements of a BinaryHeap.

    \n

    This struct is created by BinaryHeap::iter(). See its\n documentation for more.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T> Clone for Iter<'_, T>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for Iter<'_, T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for Iter<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for Iter<'_, T>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<'a, T> Iterator for Iter<'a, T>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<&'a T>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T> Clone for Iter<'_, T>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for Iter<'_, T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for Iter<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for Iter<'_, T>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<'a, T> Iterator for Iter<'a, T>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<&'a T>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T> FusedIterator for Iter<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for Iter<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for Iter<'a, T>
    where\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Send for Iter<'a, T>
    where\n- T: Sync,

    \u00a7

    impl<'a, T> Sync for Iter<'a, T>
    where\n- T: Sync,

    \u00a7

    impl<'a, T> Unpin for Iter<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for Iter<'a, T>
    where\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T> FusedIterator for Iter<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for Iter<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for Iter<'a, T>
    where\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Send for Iter<'a, T>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T> Sync for Iter<'a, T>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T> Unpin for Iter<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for Iter<'a, T>
    where\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.PeekMut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/binary_heap/struct.PeekMut.html", "unified_diff": "@@ -1,23 +1,23 @@\n PeekMut in alloc::collections::binary_heap - Rust
    \n-

    Struct alloc::collections::binary_heap::PeekMut

    1.12.0 \u00b7 source \u00b7
    pub struct PeekMut<'a, T: 'a + Ord, A: Allocator = Global> { /* private fields */ }
    Expand description

    Structure wrapping a mutable reference to the greatest item on a\n+

    Struct alloc::collections::binary_heap::PeekMut

    1.12.0 \u00b7 source \u00b7
    pub struct PeekMut<'a, T: 'a + Ord, A: Allocator = Global> { /* private fields */ }
    Expand description

    Structure wrapping a mutable reference to the greatest item on a\n BinaryHeap.

    \n

    This struct is created by the peek_mut method on BinaryHeap. See\n its documentation for more.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, T: Ord, A: Allocator> PeekMut<'a, T, A>

    1.18.0 \u00b7 source

    pub fn pop(this: PeekMut<'a, T, A>) -> T

    Removes the peeked value from the heap and returns it.

    \n-

    Trait Implementations\u00a7

    1.17.0 \u00b7 source\u00a7

    impl<T: Ord + Debug, A: Allocator> Debug for PeekMut<'_, T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T: Ord, A: Allocator> Deref for PeekMut<'_, T, A>

    \u00a7

    type Target = T

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &T

    Dereferences the value.
    source\u00a7

    impl<T: Ord, A: Allocator> DerefMut for PeekMut<'_, T, A>

    source\u00a7

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    source\u00a7

    impl<T: Ord, A: Allocator> Drop for PeekMut<'_, T, A>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, A> Freeze for PeekMut<'a, T, A>

    \u00a7

    impl<'a, T, A> RefUnwindSafe for PeekMut<'a, T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Send for PeekMut<'a, T, A>
    where\n- A: Send,\n- T: Send,

    \u00a7

    impl<'a, T, A> Sync for PeekMut<'a, T, A>
    where\n- A: Sync,\n- T: Sync,

    \u00a7

    impl<'a, T, A> Unpin for PeekMut<'a, T, A>

    \u00a7

    impl<'a, T, A = Global> !UnwindSafe for PeekMut<'a, T, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a, T: Ord, A: Allocator> PeekMut<'a, T, A>

    1.18.0 \u00b7 source

    pub fn pop(this: PeekMut<'a, T, A>) -> T

    Removes the peeked value from the heap and returns it.

    \n+

    Trait Implementations\u00a7

    1.17.0 \u00b7 source\u00a7

    impl<T: Ord + Debug, A: Allocator> Debug for PeekMut<'_, T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T: Ord, A: Allocator> Deref for PeekMut<'_, T, A>

    \u00a7

    type Target = T

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &T

    Dereferences the value.
    source\u00a7

    impl<T: Ord, A: Allocator> DerefMut for PeekMut<'_, T, A>

    source\u00a7

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    source\u00a7

    impl<T: Ord, A: Allocator> Drop for PeekMut<'_, T, A>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, A> Freeze for PeekMut<'a, T, A>

    \u00a7

    impl<'a, T, A> RefUnwindSafe for PeekMut<'a, T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Send for PeekMut<'a, T, A>
    where\n+ A: Send,\n+ T: Send,

    \u00a7

    impl<'a, T, A> Sync for PeekMut<'a, T, A>
    where\n+ A: Sync,\n+ T: Sync,

    \u00a7

    impl<'a, T, A> Unpin for PeekMut<'a, T, A>

    \u00a7

    impl<'a, T, A = Global> !UnwindSafe for PeekMut<'a, T, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/enum.Entry.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/enum.Entry.html", "unified_diff": "@@ -1,56 +1,56 @@\n Entry in alloc::collections::btree_map - Rust
    \n-

    Enum alloc::collections::btree_map::Entry

    1.0.0 \u00b7 source \u00b7
    pub enum Entry<'a, K: 'a, V: 'a, A: Allocator + Clone = Global> {\n+    

    Enum alloc::collections::btree_map::Entry

    1.0.0 \u00b7 source \u00b7
    pub enum Entry<'a, K: 'a, V: 'a, A: Allocator + Clone = Global> {\n     Vacant(VacantEntry<'a, K, V, A>),\n     Occupied(OccupiedEntry<'a, K, V, A>),\n }
    Expand description

    A view into a single entry in a map, which may either be vacant or occupied.

    \n

    This enum is constructed from the entry method on BTreeMap.

    \n

    Variants\u00a7

    \u00a7

    Vacant(VacantEntry<'a, K, V, A>)

    A vacant entry.

    \n
    \u00a7

    Occupied(OccupiedEntry<'a, K, V, A>)

    An occupied entry.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, K: Ord, V, A: Allocator + Clone> Entry<'a, K, V, A>

    source

    pub fn or_insert(self, default: V) -> &'a mut V

    Ensures a value is in the entry by inserting the default if empty, and returns\n+

    Implementations\u00a7

    source\u00a7

    impl<'a, K: Ord, V, A: Allocator + Clone> Entry<'a, K, V, A>

    source

    pub fn or_insert(self, default: V) -> &'a mut V

    Ensures a value is in the entry by inserting the default if empty, and returns\n a mutable reference to the value in the entry.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut map: BTreeMap<&str, usize> = BTreeMap::new();\n map.entry(\"poneyland\").or_insert(12);\n \n assert_eq!(map[\"poneyland\"], 12);
    Run
    \n-
    source

    pub fn or_insert_with<F: FnOnce() -> V>(self, default: F) -> &'a mut V

    Ensures a value is in the entry by inserting the result of the default function if empty,\n+

    source

    pub fn or_insert_with<F: FnOnce() -> V>(self, default: F) -> &'a mut V

    Ensures a value is in the entry by inserting the result of the default function if empty,\n and returns a mutable reference to the value in the entry.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut map: BTreeMap<&str, String> = BTreeMap::new();\n let s = \"hoho\".to_string();\n \n map.entry(\"poneyland\").or_insert_with(|| s);\n \n assert_eq!(map[\"poneyland\"], \"hoho\".to_string());
    Run
    \n-
    1.50.0 \u00b7 source

    pub fn or_insert_with_key<F: FnOnce(&K) -> V>(self, default: F) -> &'a mut V

    Ensures a value is in the entry by inserting, if empty, the result of the default function.\n+

    1.50.0 \u00b7 source

    pub fn or_insert_with_key<F: FnOnce(&K) -> V>(self, default: F) -> &'a mut V

    Ensures a value is in the entry by inserting, if empty, the result of the default function.\n This method allows for generating key-derived values for insertion by providing the default\n function a reference to the key that was moved during the .entry(key) method call.

    \n

    The reference to the moved key is provided so that cloning or copying the key is\n unnecessary, unlike with .or_insert_with(|| ... ).

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut map: BTreeMap<&str, usize> = BTreeMap::new();\n \n map.entry(\"poneyland\").or_insert_with_key(|key| key.chars().count());\n \n assert_eq!(map[\"poneyland\"], 9);
    Run
    \n-
    1.10.0 \u00b7 source

    pub fn key(&self) -> &K

    Returns a reference to this entry\u2019s key.

    \n+
    1.10.0 \u00b7 source

    pub fn key(&self) -> &K

    Returns a reference to this entry\u2019s key.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut map: BTreeMap<&str, usize> = BTreeMap::new();\n assert_eq!(map.entry(\"poneyland\").key(), &\"poneyland\");
    Run
    \n
    1.26.0 \u00b7 source

    pub fn and_modify<F>(self, f: F) -> Self
    where\n- F: FnOnce(&mut V),

    Provides in-place mutable access to an occupied entry before any\n+ F: FnOnce(&mut V),

    Provides in-place mutable access to an occupied entry before any\n potential inserts into the map.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut map: BTreeMap<&str, usize> = BTreeMap::new();\n \n map.entry(\"poneyland\")\n@@ -58,40 +58,40 @@\n    .or_insert(42);\n assert_eq!(map[\"poneyland\"], 42);\n \n map.entry(\"poneyland\")\n    .and_modify(|e| { *e += 1 })\n    .or_insert(42);\n assert_eq!(map[\"poneyland\"], 43);
    Run
    \n-
    source\u00a7

    impl<'a, K: Ord, V: Default, A: Allocator + Clone> Entry<'a, K, V, A>

    1.28.0 \u00b7 source

    pub fn or_default(self) -> &'a mut V

    Ensures a value is in the entry by inserting the default value if empty,\n+

    source\u00a7

    impl<'a, K: Ord, V: Default, A: Allocator + Clone> Entry<'a, K, V, A>

    1.28.0 \u00b7 source

    pub fn or_default(self) -> &'a mut V

    Ensures a value is in the entry by inserting the default value if empty,\n and returns a mutable reference to the value in the entry.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut map: BTreeMap<&str, Option<usize>> = BTreeMap::new();\n map.entry(\"poneyland\").or_default();\n \n assert_eq!(map[\"poneyland\"], None);
    Run
    \n-

    Trait Implementations\u00a7

    1.12.0 \u00b7 source\u00a7

    impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for Entry<'_, K, V, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V, A> Freeze for Entry<'a, K, V, A>
    where\n- A: Freeze,\n- K: Freeze,

    \u00a7

    impl<'a, K, V, A> RefUnwindSafe for Entry<'a, K, V, A>
    where\n- A: RefUnwindSafe,\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V, A> Send for Entry<'a, K, V, A>
    where\n- A: Send,\n- K: Send,\n- V: Send,

    \u00a7

    impl<'a, K, V, A> Sync for Entry<'a, K, V, A>
    where\n- A: Sync,\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<'a, K, V, A> Unpin for Entry<'a, K, V, A>
    where\n- A: Unpin,\n- K: Unpin,

    \u00a7

    impl<'a, K, V, A = Global> !UnwindSafe for Entry<'a, K, V, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    1.12.0 \u00b7 source\u00a7

    impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for Entry<'_, K, V, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V, A> Freeze for Entry<'a, K, V, A>
    where\n+ A: Freeze,\n+ K: Freeze,

    \u00a7

    impl<'a, K, V, A> RefUnwindSafe for Entry<'a, K, V, A>
    where\n+ A: RefUnwindSafe,\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V, A> Send for Entry<'a, K, V, A>
    where\n+ A: Send,\n+ K: Send,\n+ V: Send,

    \u00a7

    impl<'a, K, V, A> Sync for Entry<'a, K, V, A>
    where\n+ A: Sync,\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<'a, K, V, A> Unpin for Entry<'a, K, V, A>
    where\n+ A: Unpin,\n+ K: Unpin,

    \u00a7

    impl<'a, K, V, A = Global> !UnwindSafe for Entry<'a, K, V, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.BTreeMap.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.BTreeMap.html", "unified_diff": "@@ -1,9 +1,9 @@\n BTreeMap in alloc::collections::btree_map - Rust
    \n-

    Struct alloc::collections::btree_map::BTreeMap

    1.0.0 \u00b7 source \u00b7
    pub struct BTreeMap<K, V, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    An ordered map based on a B-Tree.

    \n+

    Struct alloc::collections::btree_map::BTreeMap

    1.0.0 \u00b7 source \u00b7
    pub struct BTreeMap<K, V, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    An ordered map based on a B-Tree.

    \n

    B-Trees represent a fundamental compromise between cache-efficiency and actually minimizing\n the amount of work performed in a search. In theory, a binary search tree (BST) is the optimal\n choice for a sorted map, as a perfectly balanced BST performs the theoretical minimum amount of\n comparisons necessary to find an element (log2n). However, in practice the way this\n is done is very inefficient for modern computer architectures. In particular, every element\n is stored in its own individually heap-allocated node. This means that every single insertion\n triggers a heap-allocation, and every single comparison should be a cache-miss. Since these\n@@ -19,16 +19,16 @@\n

    Currently, our implementation simply performs naive linear search. This provides excellent\n performance on small nodes of elements which are cheap to compare. However in the future we\n would like to further explore choosing the optimal search strategy based on the choice of B,\n and possibly other factors. Using linear search, searching for a random element is expected\n to take B * log(n) comparisons, which is generally worse than a BST. In practice,\n however, performance is excellent.

    \n

    It is a logic error for a key to be modified in such a way that the key\u2019s ordering relative to\n-any other key, as determined by the Ord trait, changes while it is in the map. This is\n-normally only possible through Cell, RefCell, global state, I/O, or unsafe code.\n+any other key, as determined by the Ord trait, changes while it is in the map. This is\n+normally only possible through Cell, RefCell, global state, I/O, or unsafe code.\n The behavior resulting from such a logic error is not specified, but will be encapsulated to the\n BTreeMap that observed the logic error and not result in undefined behavior. This could\n include panics, incorrect results, aborts, memory leaks, and non-termination.

    \n

    Iterators obtained from functions such as BTreeMap::iter, BTreeMap::values, or\n BTreeMap::keys produce their items in order by key, and take worst-case logarithmic and\n amortized constant time per item returned.

    \n

    \u00a7Examples

    \n@@ -112,15 +112,15 @@\n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut map = BTreeMap::new();\n \n // entries can now be inserted into the empty map\n map.insert(1, \"a\");
    Run
    \n-
    source\u00a7

    impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A>

    source

    pub fn clear(&mut self)

    Clears the map, removing all elements.

    \n+
    source\u00a7

    impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A>

    source

    pub fn clear(&mut self)

    Clears the map, removing all elements.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut a = BTreeMap::new();\n a.insert(1, \"a\");\n a.clear();\n assert!(a.is_empty());
    Run
    \n@@ -129,149 +129,149 @@\n
    use std::collections::BTreeMap;\n use std::alloc::Global;\n \n let mut map = BTreeMap::new_in(Global);\n \n // entries can now be inserted into the empty map\n map.insert(1, \"a\");
    Run
    \n-
    source\u00a7

    impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A>

    source

    pub fn get<Q>(&self, key: &Q) -> Option<&V>
    where\n- K: Borrow<Q> + Ord,\n- Q: Ord + ?Sized,

    Returns a reference to the value corresponding to the key.

    \n+
    source\u00a7

    impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A>

    source

    pub fn get<Q>(&self, key: &Q) -> Option<&V>
    where\n+ K: Borrow<Q> + Ord,\n+ Q: Ord + ?Sized,

    Returns a reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map\u2019s key type, but the ordering\n on the borrowed form must match the ordering on the key type.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut map = BTreeMap::new();\n map.insert(1, \"a\");\n assert_eq!(map.get(&1), Some(&\"a\"));\n assert_eq!(map.get(&2), None);
    Run
    \n-
    1.40.0 \u00b7 source

    pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
    where\n- K: Borrow<Q> + Ord,\n- Q: Ord + ?Sized,

    Returns the key-value pair corresponding to the supplied key.

    \n+
    1.40.0 \u00b7 source

    pub fn get_key_value<Q>(&self, k: &Q) -> Option<(&K, &V)>
    where\n+ K: Borrow<Q> + Ord,\n+ Q: Ord + ?Sized,

    Returns the key-value pair corresponding to the supplied key.

    \n

    The supplied key may be any borrowed form of the map\u2019s key type, but the ordering\n on the borrowed form must match the ordering on the key type.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut map = BTreeMap::new();\n map.insert(1, \"a\");\n assert_eq!(map.get_key_value(&1), Some((&1, &\"a\")));\n assert_eq!(map.get_key_value(&2), None);
    Run
    \n-
    1.66.0 \u00b7 source

    pub fn first_key_value(&self) -> Option<(&K, &V)>
    where\n- K: Ord,

    Returns the first key-value pair in the map.\n+

    1.66.0 \u00b7 source

    pub fn first_key_value(&self) -> Option<(&K, &V)>
    where\n+ K: Ord,

    Returns the first key-value pair in the map.\n The key in this pair is the minimum key in the map.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut map = BTreeMap::new();\n assert_eq!(map.first_key_value(), None);\n map.insert(1, \"b\");\n map.insert(2, \"a\");\n assert_eq!(map.first_key_value(), Some((&1, &\"b\")));
    Run
    \n-
    1.66.0 \u00b7 source

    pub fn first_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
    where\n- K: Ord,

    Returns the first entry in the map for in-place manipulation.\n+

    1.66.0 \u00b7 source

    pub fn first_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
    where\n+ K: Ord,

    Returns the first entry in the map for in-place manipulation.\n The key of this entry is the minimum key in the map.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut map = BTreeMap::new();\n map.insert(1, \"a\");\n map.insert(2, \"b\");\n if let Some(mut entry) = map.first_entry() {\n     if *entry.key() > 0 {\n         entry.insert(\"first\");\n     }\n }\n assert_eq!(*map.get(&1).unwrap(), \"first\");\n assert_eq!(*map.get(&2).unwrap(), \"b\");
    Run
    \n-
    1.66.0 \u00b7 source

    pub fn pop_first(&mut self) -> Option<(K, V)>
    where\n- K: Ord,

    Removes and returns the first element in the map.\n+

    1.66.0 \u00b7 source

    pub fn pop_first(&mut self) -> Option<(K, V)>
    where\n+ K: Ord,

    Removes and returns the first element in the map.\n The key of this element is the minimum key that was in the map.

    \n
    \u00a7Examples
    \n

    Draining elements in ascending order, while keeping a usable map each iteration.

    \n \n
    use std::collections::BTreeMap;\n \n let mut map = BTreeMap::new();\n map.insert(1, \"a\");\n map.insert(2, \"b\");\n while let Some((key, _val)) = map.pop_first() {\n     assert!(map.iter().all(|(k, _v)| *k > key));\n }\n assert!(map.is_empty());
    Run
    \n-
    1.66.0 \u00b7 source

    pub fn last_key_value(&self) -> Option<(&K, &V)>
    where\n- K: Ord,

    Returns the last key-value pair in the map.\n+

    1.66.0 \u00b7 source

    pub fn last_key_value(&self) -> Option<(&K, &V)>
    where\n+ K: Ord,

    Returns the last key-value pair in the map.\n The key in this pair is the maximum key in the map.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut map = BTreeMap::new();\n map.insert(1, \"b\");\n map.insert(2, \"a\");\n assert_eq!(map.last_key_value(), Some((&2, &\"a\")));
    Run
    \n-
    1.66.0 \u00b7 source

    pub fn last_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
    where\n- K: Ord,

    Returns the last entry in the map for in-place manipulation.\n+

    1.66.0 \u00b7 source

    pub fn last_entry(&mut self) -> Option<OccupiedEntry<'_, K, V, A>>
    where\n+ K: Ord,

    Returns the last entry in the map for in-place manipulation.\n The key of this entry is the maximum key in the map.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut map = BTreeMap::new();\n map.insert(1, \"a\");\n map.insert(2, \"b\");\n if let Some(mut entry) = map.last_entry() {\n     if *entry.key() > 0 {\n         entry.insert(\"last\");\n     }\n }\n assert_eq!(*map.get(&1).unwrap(), \"a\");\n assert_eq!(*map.get(&2).unwrap(), \"last\");
    Run
    \n-
    1.66.0 \u00b7 source

    pub fn pop_last(&mut self) -> Option<(K, V)>
    where\n- K: Ord,

    Removes and returns the last element in the map.\n+

    1.66.0 \u00b7 source

    pub fn pop_last(&mut self) -> Option<(K, V)>
    where\n+ K: Ord,

    Removes and returns the last element in the map.\n The key of this element is the maximum key that was in the map.

    \n
    \u00a7Examples
    \n

    Draining elements in descending order, while keeping a usable map each iteration.

    \n \n
    use std::collections::BTreeMap;\n \n let mut map = BTreeMap::new();\n map.insert(1, \"a\");\n map.insert(2, \"b\");\n while let Some((key, _val)) = map.pop_last() {\n     assert!(map.iter().all(|(k, _v)| *k < key));\n }\n assert!(map.is_empty());
    Run
    \n-
    source

    pub fn contains_key<Q>(&self, key: &Q) -> bool
    where\n- K: Borrow<Q> + Ord,\n- Q: Ord + ?Sized,

    Returns true if the map contains a value for the specified key.

    \n+
    source

    pub fn contains_key<Q>(&self, key: &Q) -> bool
    where\n+ K: Borrow<Q> + Ord,\n+ Q: Ord + ?Sized,

    Returns true if the map contains a value for the specified key.

    \n

    The key may be any borrowed form of the map\u2019s key type, but the ordering\n on the borrowed form must match the ordering on the key type.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut map = BTreeMap::new();\n map.insert(1, \"a\");\n assert_eq!(map.contains_key(&1), true);\n assert_eq!(map.contains_key(&2), false);
    Run
    \n-
    source

    pub fn get_mut<Q>(&mut self, key: &Q) -> Option<&mut V>
    where\n- K: Borrow<Q> + Ord,\n- Q: Ord + ?Sized,

    Returns a mutable reference to the value corresponding to the key.

    \n+
    source

    pub fn get_mut<Q>(&mut self, key: &Q) -> Option<&mut V>
    where\n+ K: Borrow<Q> + Ord,\n+ Q: Ord + ?Sized,

    Returns a mutable reference to the value corresponding to the key.

    \n

    The key may be any borrowed form of the map\u2019s key type, but the ordering\n on the borrowed form must match the ordering on the key type.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut map = BTreeMap::new();\n map.insert(1, \"a\");\n if let Some(x) = map.get_mut(&1) {\n     *x = \"b\";\n }\n assert_eq!(map[&1], \"b\");
    Run
    \n-
    source

    pub fn insert(&mut self, key: K, value: V) -> Option<V>
    where\n- K: Ord,

    Inserts a key-value pair into the map.

    \n+
    source

    pub fn insert(&mut self, key: K, value: V) -> Option<V>
    where\n+ K: Ord,

    Inserts a key-value pair into the map.

    \n

    If the map did not have this key present, None is returned.

    \n

    If the map did have this key present, the value is updated, and the old\n value is returned. The key is not updated, though; this matters for\n types that can be == without being identical. See the module-level\n documentation for more.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n@@ -283,16 +283,16 @@\n map.insert(37, \"b\");\n assert_eq!(map.insert(37, \"c\"), Some(\"b\"));\n assert_eq!(map[&37], \"c\");
    Run
    \n
    source

    pub fn try_insert(\n &mut self,\n key: K,\n value: V\n-) -> Result<&mut V, OccupiedError<'_, K, V, A>>
    where\n- K: Ord,

    \ud83d\udd2cThis is a nightly-only experimental API. (map_try_insert #82766)

    Tries to insert a key-value pair into the map, and returns\n+) -> Result<&mut V, OccupiedError<'_, K, V, A>>

    where\n+ K: Ord,
    \ud83d\udd2cThis is a nightly-only experimental API. (map_try_insert #82766)

    Tries to insert a key-value pair into the map, and returns\n a mutable reference to the value in the entry.

    \n

    If the map already had this key present, nothing is updated, and\n an error containing the occupied entry and the value is returned.

    \n
    \u00a7Examples
    \n
    #![feature(map_try_insert)]\n \n use std::collections::BTreeMap;\n@@ -300,55 +300,55 @@\n let mut map = BTreeMap::new();\n assert_eq!(map.try_insert(37, \"a\").unwrap(), &\"a\");\n \n let err = map.try_insert(37, \"b\").unwrap_err();\n assert_eq!(err.entry.key(), &37);\n assert_eq!(err.entry.get(), &\"a\");\n assert_eq!(err.value, \"b\");
    Run
    \n-
    source

    pub fn remove<Q>(&mut self, key: &Q) -> Option<V>
    where\n- K: Borrow<Q> + Ord,\n- Q: Ord + ?Sized,

    Removes a key from the map, returning the value at the key if the key\n+

    source

    pub fn remove<Q>(&mut self, key: &Q) -> Option<V>
    where\n+ K: Borrow<Q> + Ord,\n+ Q: Ord + ?Sized,

    Removes a key from the map, returning the value at the key if the key\n was previously in the map.

    \n

    The key may be any borrowed form of the map\u2019s key type, but the ordering\n on the borrowed form must match the ordering on the key type.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut map = BTreeMap::new();\n map.insert(1, \"a\");\n assert_eq!(map.remove(&1), Some(\"a\"));\n assert_eq!(map.remove(&1), None);
    Run
    \n-
    1.45.0 \u00b7 source

    pub fn remove_entry<Q>(&mut self, key: &Q) -> Option<(K, V)>
    where\n- K: Borrow<Q> + Ord,\n- Q: Ord + ?Sized,

    Removes a key from the map, returning the stored key and value if the key\n+

    1.45.0 \u00b7 source

    pub fn remove_entry<Q>(&mut self, key: &Q) -> Option<(K, V)>
    where\n+ K: Borrow<Q> + Ord,\n+ Q: Ord + ?Sized,

    Removes a key from the map, returning the stored key and value if the key\n was previously in the map.

    \n

    The key may be any borrowed form of the map\u2019s key type, but the ordering\n on the borrowed form must match the ordering on the key type.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut map = BTreeMap::new();\n map.insert(1, \"a\");\n assert_eq!(map.remove_entry(&1), Some((1, \"a\")));\n assert_eq!(map.remove_entry(&1), None);
    Run
    \n
    1.53.0 \u00b7 source

    pub fn retain<F>(&mut self, f: F)
    where\n- K: Ord,\n- F: FnMut(&K, &mut V) -> bool,

    Retains only the elements specified by the predicate.

    \n+ K: Ord,\n+ F: FnMut(&K, &mut V) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all pairs (k, v) for which f(&k, &mut v) returns false.\n The elements are visited in ascending key order.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut map: BTreeMap<i32, i32> = (0..8).map(|x| (x, x*10)).collect();\n // Keep only the elements with even-numbered keys.\n map.retain(|&k, _| k % 2 == 0);\n assert!(map.into_iter().eq(vec![(0, 0), (2, 20), (4, 40), (6, 60)]));
    Run
    \n-
    1.11.0 \u00b7 source

    pub fn append(&mut self, other: &mut Self)
    where\n- K: Ord,\n- A: Clone,

    Moves all elements from other into self, leaving other empty.

    \n+
    1.11.0 \u00b7 source

    pub fn append(&mut self, other: &mut Self)
    where\n+ K: Ord,\n+ A: Clone,

    Moves all elements from other into self, leaving other empty.

    \n

    If a key from other is already present in self, the respective\n value from self will be overwritten with the respective value from other.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut a = BTreeMap::new();\n a.insert(1, \"a\");\n@@ -367,17 +367,17 @@\n \n assert_eq!(a[&1], \"a\");\n assert_eq!(a[&2], \"b\");\n assert_eq!(a[&3], \"d\"); // Note: \"c\" has been overwritten.\n assert_eq!(a[&4], \"e\");\n assert_eq!(a[&5], \"f\");
    Run
    \n
    1.17.0 \u00b7 source

    pub fn range<T, R>(&self, range: R) -> Range<'_, K, V> \u24d8
    where\n- T: Ord + ?Sized,\n- K: Borrow<T> + Ord,\n- R: RangeBounds<T>,

    Constructs a double-ended iterator over a sub-range of elements in the map.\n+ T: Ord + ?Sized,\n+ K: Borrow<T> + Ord,\n+ R: RangeBounds<T>,

    Constructs a double-ended iterator over a sub-range of elements in the map.\n The simplest way is to use the range syntax min..max, thus range(min..max) will\n yield elements from min (inclusive) to max (exclusive).\n The range may also be entered as (Bound<T>, Bound<T>), so for example\n range((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\n range from 4 to 10.

    \n
    \u00a7Panics
    \n

    Panics if range start > end.\n@@ -391,17 +391,17 @@\n map.insert(5, \"b\");\n map.insert(8, \"c\");\n for (&key, &value) in map.range((Included(&4), Included(&8))) {\n println!(\"{key}: {value}\");\n }\n assert_eq!(Some((&5, &\"b\")), map.range(4..).next());Run

    \n
    1.17.0 \u00b7 source

    pub fn range_mut<T, R>(&mut self, range: R) -> RangeMut<'_, K, V> \u24d8
    where\n- T: Ord + ?Sized,\n- K: Borrow<T> + Ord,\n- R: RangeBounds<T>,

    Constructs a mutable double-ended iterator over a sub-range of elements in the map.\n+ T: Ord + ?Sized,\n+ K: Borrow<T> + Ord,\n+ R: RangeBounds<T>,

    Constructs a mutable double-ended iterator over a sub-range of elements in the map.\n The simplest way is to use the range syntax min..max, thus range(min..max) will\n yield elements from min (inclusive) to max (exclusive).\n The range may also be entered as (Bound<T>, Bound<T>), so for example\n range((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\n range from 4 to 10.

    \n
    \u00a7Panics
    \n

    Panics if range start > end.\n@@ -414,31 +414,31 @@\n for (_, balance) in map.range_mut(\"B\"..\"Cheryl\") {\n *balance += 100;\n }\n for (name, balance) in &map {\n println!(\"{name} => {balance}\");\n }Run

    \n
    source

    pub fn entry(&mut self, key: K) -> Entry<'_, K, V, A>
    where\n- K: Ord,

    Gets the given key\u2019s corresponding entry in the map for in-place manipulation.

    \n+ K: Ord,

    Gets the given key\u2019s corresponding entry in the map for in-place manipulation.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut count: BTreeMap<&str, usize> = BTreeMap::new();\n \n // count the number of occurrences of letters in the vec\n for x in [\"a\", \"b\", \"a\", \"c\", \"a\", \"b\"] {\n     count.entry(x).and_modify(|curr| *curr += 1).or_insert(1);\n }\n \n assert_eq!(count[\"a\"], 3);\n assert_eq!(count[\"b\"], 2);\n assert_eq!(count[\"c\"], 1);
    Run
    \n-
    1.11.0 \u00b7 source

    pub fn split_off<Q: ?Sized + Ord>(&mut self, key: &Q) -> Self
    where\n- K: Borrow<Q> + Ord,\n- A: Clone,

    Splits the collection into two at the given key. Returns everything after the given key,\n+

    1.11.0 \u00b7 source

    pub fn split_off<Q: ?Sized + Ord>(&mut self, key: &Q) -> Self
    where\n+ K: Borrow<Q> + Ord,\n+ A: Clone,

    Splits the collection into two at the given key. Returns everything after the given key,\n including the key.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut a = BTreeMap::new();\n a.insert(1, \"a\");\n a.insert(2, \"b\");\n@@ -454,16 +454,16 @@\n assert_eq!(a[&1], \"a\");\n assert_eq!(a[&2], \"b\");\n \n assert_eq!(b[&3], \"c\");\n assert_eq!(b[&17], \"d\");\n assert_eq!(b[&41], \"e\");
    Run
    \n
    source

    pub fn extract_if<F>(&mut self, pred: F) -> ExtractIf<'_, K, V, F, A> \u24d8
    where\n- K: Ord,\n- F: FnMut(&K, &mut V) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_extract_if #70530)

    Creates an iterator that visits all elements (key-value pairs) in\n+ K: Ord,\n+ F: FnMut(&K, &mut V) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_extract_if #70530)

    Creates an iterator that visits all elements (key-value pairs) in\n ascending key order and uses a closure to determine if an element should\n be removed. If the closure returns true, the element is removed from\n the map and yielded. If the closure returns false, or panics, the\n element remains in the map and will not be yielded.

    \n

    The iterator also lets you mutate the value of each element in the\n closure, regardless of whether you choose to keep or remove it.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\n@@ -500,15 +500,15 @@\n \n let mut a = BTreeMap::new();\n a.insert(1, \"hello\");\n a.insert(2, \"goodbye\");\n \n let values: Vec<&str> = a.into_values().collect();\n assert_eq!(values, [\"hello\", \"goodbye\"]);Run

    \n-
    source\u00a7

    impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A>

    source

    pub fn iter(&self) -> Iter<'_, K, V> \u24d8

    Gets an iterator over the entries of the map, sorted by key.

    \n+
    source\u00a7

    impl<K, V, A: Allocator + Clone> BTreeMap<K, V, A>

    source

    pub fn iter(&self) -> Iter<'_, K, V> \u24d8

    Gets an iterator over the entries of the map, sorted by key.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut map = BTreeMap::new();\n map.insert(3, \"c\");\n map.insert(2, \"b\");\n map.insert(1, \"a\");\n@@ -566,33 +566,33 @@\n for value in a.values_mut() {\n     value.push_str(\"!\");\n }\n \n let values: Vec<String> = a.values().cloned().collect();\n assert_eq!(values, [String::from(\"hello!\"),\n                     String::from(\"goodbye!\")]);
    Run
    \n-
    const: unstable \u00b7 source

    pub fn len(&self) -> usize

    Returns the number of elements in the map.

    \n+
    const: unstable \u00b7 source

    pub fn len(&self) -> usize

    Returns the number of elements in the map.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut a = BTreeMap::new();\n assert_eq!(a.len(), 0);\n a.insert(1, \"a\");\n assert_eq!(a.len(), 1);
    Run
    \n-
    const: unstable \u00b7 source

    pub fn is_empty(&self) -> bool

    Returns true if the map contains no elements.

    \n+
    const: unstable \u00b7 source

    pub fn is_empty(&self) -> bool

    Returns true if the map contains no elements.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut a = BTreeMap::new();\n assert!(a.is_empty());\n a.insert(1, \"a\");\n assert!(!a.is_empty());
    Run
    \n-
    source

    pub fn lower_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
    where\n- K: Borrow<Q> + Ord,\n- Q: Ord + ?Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a Cursor pointing at the gap before the smallest key\n+

    source

    pub fn lower_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
    where\n+ K: Borrow<Q> + Ord,\n+ Q: Ord + ?Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a Cursor pointing at the gap before the smallest key\n greater than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\n gap before the smallest key greater than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\n gap before the smallest key greater than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\n gap before the smallest key in the map.

    \n@@ -616,17 +616,17 @@\n let cursor = map.lower_bound(Bound::Excluded(&2));\n assert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\n assert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n \n let cursor = map.lower_bound(Bound::Unbounded);\n assert_eq!(cursor.peek_prev(), None);\n assert_eq!(cursor.peek_next(), Some((&1, &\"a\")));Run
    \n-
    source

    pub fn lower_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
    where\n- K: Borrow<Q> + Ord,\n- Q: Ord + ?Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a CursorMut pointing at the gap before the smallest key\n+

    source

    pub fn lower_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
    where\n+ K: Borrow<Q> + Ord,\n+ Q: Ord + ?Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a CursorMut pointing at the gap before the smallest key\n greater than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\n gap before the smallest key greater than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\n gap before the smallest key greater than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\n gap before the smallest key in the map.

    \n@@ -650,17 +650,17 @@\n let mut cursor = map.lower_bound_mut(Bound::Excluded(&2));\n assert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\n assert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n \n let mut cursor = map.lower_bound_mut(Bound::Unbounded);\n assert_eq!(cursor.peek_prev(), None);\n assert_eq!(cursor.peek_next(), Some((&1, &mut \"a\")));Run
    \n-
    source

    pub fn upper_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
    where\n- K: Borrow<Q> + Ord,\n- Q: Ord + ?Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a Cursor pointing at the gap after the greatest key\n+

    source

    pub fn upper_bound<Q>(&self, bound: Bound<&Q>) -> Cursor<'_, K, V>
    where\n+ K: Borrow<Q> + Ord,\n+ Q: Ord + ?Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a Cursor pointing at the gap after the greatest key\n smaller than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\n gap after the greatest key smaller than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\n gap after the greatest key smaller than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\n gap after the greatest key in the map.

    \n@@ -684,17 +684,17 @@\n let cursor = map.upper_bound(Bound::Excluded(&3));\n assert_eq!(cursor.peek_prev(), Some((&2, &\"b\")));\n assert_eq!(cursor.peek_next(), Some((&3, &\"c\")));\n \n let cursor = map.upper_bound(Bound::Unbounded);\n assert_eq!(cursor.peek_prev(), Some((&4, &\"d\")));\n assert_eq!(cursor.peek_next(), None);Run
    \n-
    source

    pub fn upper_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
    where\n- K: Borrow<Q> + Ord,\n- Q: Ord + ?Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a CursorMut pointing at the gap after the greatest key\n+

    source

    pub fn upper_bound_mut<Q>(&mut self, bound: Bound<&Q>) -> CursorMut<'_, K, V, A>
    where\n+ K: Borrow<Q> + Ord,\n+ Q: Ord + ?Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a CursorMut pointing at the gap after the greatest key\n smaller than the given bound.

    \n

    Passing Bound::Included(x) will return a cursor pointing to the\n gap after the greatest key smaller than or equal to x.

    \n

    Passing Bound::Excluded(x) will return a cursor pointing to the\n gap after the greatest key smaller than x.

    \n

    Passing Bound::Unbounded will return a cursor pointing to the\n gap after the greatest key in the map.

    \n@@ -718,55 +718,55 @@\n let mut cursor = map.upper_bound_mut(Bound::Excluded(&3));\n assert_eq!(cursor.peek_prev(), Some((&2, &mut \"b\")));\n assert_eq!(cursor.peek_next(), Some((&3, &mut \"c\")));\n \n let mut cursor = map.upper_bound_mut(Bound::Unbounded);\n assert_eq!(cursor.peek_prev(), Some((&4, &mut \"d\")));\n assert_eq!(cursor.peek_next(), None);Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<K: Clone, V: Clone, A: Allocator + Clone> Clone for BTreeMap<K, V, A>

    source\u00a7

    fn clone(&self) -> BTreeMap<K, V, A>

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<K: Debug, V: Debug, A: Allocator + Clone> Debug for BTreeMap<K, V, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<K, V> Default for BTreeMap<K, V>

    source\u00a7

    fn default() -> BTreeMap<K, V>

    Creates an empty BTreeMap.

    \n-
    1.7.0 \u00b7 source\u00a7

    impl<K, V, A: Allocator + Clone> Drop for BTreeMap<K, V, A>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    1.2.0 \u00b7 source\u00a7

    impl<'a, K: Ord + Copy, V: Copy, A: Allocator + Clone> Extend<(&'a K, &'a V)> for BTreeMap<K, V, A>

    source\u00a7

    fn extend<I: IntoIterator<Item = (&'a K, &'a V)>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, (k, v): (&'a K, &'a V))

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    source\u00a7

    impl<K: Ord, V, A: Allocator + Clone> Extend<(K, V)> for BTreeMap<K, V, A>

    source\u00a7

    fn extend<T: IntoIterator<Item = (K, V)>>(&mut self, iter: T)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, (k, v): (K, V))

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    1.56.0 \u00b7 source\u00a7

    impl<K: Ord, V, const N: usize> From<[(K, V); N]> for BTreeMap<K, V>

    source\u00a7

    fn from(arr: [(K, V); N]) -> Self

    Converts a [(K, V); N] into a BTreeMap<(K, V)>.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<K: Clone, V: Clone, A: Allocator + Clone> Clone for BTreeMap<K, V, A>

    source\u00a7

    fn clone(&self) -> BTreeMap<K, V, A>

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<K: Debug, V: Debug, A: Allocator + Clone> Debug for BTreeMap<K, V, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<K, V> Default for BTreeMap<K, V>

    source\u00a7

    fn default() -> BTreeMap<K, V>

    Creates an empty BTreeMap.

    \n+
    1.7.0 \u00b7 source\u00a7

    impl<K, V, A: Allocator + Clone> Drop for BTreeMap<K, V, A>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    1.2.0 \u00b7 source\u00a7

    impl<'a, K: Ord + Copy, V: Copy, A: Allocator + Clone> Extend<(&'a K, &'a V)> for BTreeMap<K, V, A>

    source\u00a7

    fn extend<I: IntoIterator<Item = (&'a K, &'a V)>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, (k, v): (&'a K, &'a V))

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    source\u00a7

    impl<K: Ord, V, A: Allocator + Clone> Extend<(K, V)> for BTreeMap<K, V, A>

    source\u00a7

    fn extend<T: IntoIterator<Item = (K, V)>>(&mut self, iter: T)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, (k, v): (K, V))

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    1.56.0 \u00b7 source\u00a7

    impl<K: Ord, V, const N: usize> From<[(K, V); N]> for BTreeMap<K, V>

    source\u00a7

    fn from(arr: [(K, V); N]) -> Self

    Converts a [(K, V); N] into a BTreeMap<(K, V)>.

    \n \n
    use std::collections::BTreeMap;\n \n let map1 = BTreeMap::from([(1, 2), (3, 4)]);\n let map2: BTreeMap<_, _> = [(1, 2), (3, 4)].into();\n assert_eq!(map1, map2);
    Run
    \n-
    source\u00a7

    impl<K: Ord, V> FromIterator<(K, V)> for BTreeMap<K, V>

    source\u00a7

    fn from_iter<T: IntoIterator<Item = (K, V)>>(iter: T) -> BTreeMap<K, V>

    Creates a value from an iterator. Read more
    source\u00a7

    impl<K: Hash, V: Hash, A: Allocator + Clone> Hash for BTreeMap<K, V, A>

    source\u00a7

    fn hash<H: Hasher>(&self, state: &mut H)

    Feeds this value into the given Hasher. Read more
    1.3.0 \u00b7 source\u00a7

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n- H: Hasher,\n- Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source\u00a7

    impl<K, Q, V, A: Allocator + Clone> Index<&Q> for BTreeMap<K, V, A>
    where\n- K: Borrow<Q> + Ord,\n- Q: Ord + ?Sized,

    source\u00a7

    fn index(&self, key: &Q) -> &V

    Returns a reference to the value corresponding to the supplied key.

    \n+
    source\u00a7

    impl<K: Ord, V> FromIterator<(K, V)> for BTreeMap<K, V>

    source\u00a7

    fn from_iter<T: IntoIterator<Item = (K, V)>>(iter: T) -> BTreeMap<K, V>

    Creates a value from an iterator. Read more
    source\u00a7

    impl<K: Hash, V: Hash, A: Allocator + Clone> Hash for BTreeMap<K, V, A>

    source\u00a7

    fn hash<H: Hasher>(&self, state: &mut H)

    Feeds this value into the given Hasher. Read more
    1.3.0 \u00b7 source\u00a7

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n+ H: Hasher,\n+ Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source\u00a7

    impl<K, Q, V, A: Allocator + Clone> Index<&Q> for BTreeMap<K, V, A>
    where\n+ K: Borrow<Q> + Ord,\n+ Q: Ord + ?Sized,

    source\u00a7

    fn index(&self, key: &Q) -> &V

    Returns a reference to the value corresponding to the supplied key.

    \n
    \u00a7Panics
    \n

    Panics if the key is not present in the BTreeMap.

    \n-
    \u00a7

    type Output = V

    The returned type after indexing.
    source\u00a7

    impl<'a, K, V, A: Allocator + Clone> IntoIterator for &'a BTreeMap<K, V, A>

    \u00a7

    type Item = (&'a K, &'a V)

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = Iter<'a, K, V>

    Which kind of iterator are we turning this into?
    source\u00a7

    fn into_iter(self) -> Iter<'a, K, V> \u24d8

    Creates an iterator from a value. Read more
    source\u00a7

    impl<'a, K, V, A: Allocator + Clone> IntoIterator for &'a mut BTreeMap<K, V, A>

    \u00a7

    type Item = (&'a K, &'a mut V)

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = IterMut<'a, K, V>

    Which kind of iterator are we turning this into?
    source\u00a7

    fn into_iter(self) -> IterMut<'a, K, V> \u24d8

    Creates an iterator from a value. Read more
    source\u00a7

    impl<K, V, A: Allocator + Clone> IntoIterator for BTreeMap<K, V, A>

    \u00a7

    type Item = (K, V)

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = IntoIter<K, V, A>

    Which kind of iterator are we turning this into?
    source\u00a7

    fn into_iter(self) -> IntoIter<K, V, A> \u24d8

    Creates an iterator from a value. Read more
    source\u00a7

    impl<K: Ord, V: Ord, A: Allocator + Clone> Ord for BTreeMap<K, V, A>

    source\u00a7

    fn cmp(&self, other: &BTreeMap<K, V, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 \u00b7 source\u00a7

    fn max(self, other: Self) -> Self
    where\n- Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 \u00b7 source\u00a7

    fn min(self, other: Self) -> Self
    where\n- Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 \u00b7 source\u00a7

    fn clamp(self, min: Self, max: Self) -> Self
    where\n- Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source\u00a7

    impl<K: PartialEq, V: PartialEq, A: Allocator + Clone> PartialEq for BTreeMap<K, V, A>

    source\u00a7

    fn eq(&self, other: &BTreeMap<K, V, A>) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<K: PartialOrd, V: PartialOrd, A: Allocator + Clone> PartialOrd for BTreeMap<K, V, A>

    source\u00a7

    fn partial_cmp(&self, other: &BTreeMap<K, V, A>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source\u00a7

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source\u00a7

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\n-operator. Read more
    source\u00a7

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    source\u00a7

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\n-operator. Read more
    source\u00a7

    impl<K: Eq, V: Eq, A: Allocator + Clone> Eq for BTreeMap<K, V, A>

    1.64.0 \u00b7 source\u00a7

    impl<K, V, A> UnwindSafe for BTreeMap<K, V, A>
    where\n- A: UnwindSafe + Allocator + Clone,\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<K, V, A> Freeze for BTreeMap<K, V, A>
    where\n- A: Freeze,

    \u00a7

    impl<K, V, A> RefUnwindSafe for BTreeMap<K, V, A>
    where\n- A: RefUnwindSafe,\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    \u00a7

    impl<K, V, A> Send for BTreeMap<K, V, A>
    where\n- A: Send,\n- K: Send,\n- V: Send,

    \u00a7

    impl<K, V, A> Sync for BTreeMap<K, V, A>
    where\n- A: Sync,\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<K, V, A> Unpin for BTreeMap<K, V, A>
    where\n- A: Unpin,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+
    \u00a7

    type Output = V

    The returned type after indexing.
    source\u00a7

    impl<'a, K, V, A: Allocator + Clone> IntoIterator for &'a BTreeMap<K, V, A>

    \u00a7

    type Item = (&'a K, &'a V)

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = Iter<'a, K, V>

    Which kind of iterator are we turning this into?
    source\u00a7

    fn into_iter(self) -> Iter<'a, K, V> \u24d8

    Creates an iterator from a value. Read more
    source\u00a7

    impl<'a, K, V, A: Allocator + Clone> IntoIterator for &'a mut BTreeMap<K, V, A>

    \u00a7

    type Item = (&'a K, &'a mut V)

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = IterMut<'a, K, V>

    Which kind of iterator are we turning this into?
    source\u00a7

    fn into_iter(self) -> IterMut<'a, K, V> \u24d8

    Creates an iterator from a value. Read more
    source\u00a7

    impl<K, V, A: Allocator + Clone> IntoIterator for BTreeMap<K, V, A>

    \u00a7

    type Item = (K, V)

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = IntoIter<K, V, A>

    Which kind of iterator are we turning this into?
    source\u00a7

    fn into_iter(self) -> IntoIter<K, V, A> \u24d8

    Creates an iterator from a value. Read more
    source\u00a7

    impl<K: Ord, V: Ord, A: Allocator + Clone> Ord for BTreeMap<K, V, A>

    source\u00a7

    fn cmp(&self, other: &BTreeMap<K, V, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 \u00b7 source\u00a7

    fn max(self, other: Self) -> Self
    where\n+ Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 \u00b7 source\u00a7

    fn min(self, other: Self) -> Self
    where\n+ Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 \u00b7 source\u00a7

    fn clamp(self, min: Self, max: Self) -> Self
    where\n+ Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source\u00a7

    impl<K: PartialEq, V: PartialEq, A: Allocator + Clone> PartialEq for BTreeMap<K, V, A>

    source\u00a7

    fn eq(&self, other: &BTreeMap<K, V, A>) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<K: PartialOrd, V: PartialOrd, A: Allocator + Clone> PartialOrd for BTreeMap<K, V, A>

    source\u00a7

    fn partial_cmp(&self, other: &BTreeMap<K, V, A>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source\u00a7

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source\u00a7

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\n+operator. Read more
    source\u00a7

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    source\u00a7

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\n+operator. Read more
    source\u00a7

    impl<K: Eq, V: Eq, A: Allocator + Clone> Eq for BTreeMap<K, V, A>

    1.64.0 \u00b7 source\u00a7

    impl<K, V, A> UnwindSafe for BTreeMap<K, V, A>
    where\n+ A: UnwindSafe + Allocator + Clone,\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<K, V, A> Freeze for BTreeMap<K, V, A>
    where\n+ A: Freeze,

    \u00a7

    impl<K, V, A> RefUnwindSafe for BTreeMap<K, V, A>
    where\n+ A: RefUnwindSafe,\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    \u00a7

    impl<K, V, A> Send for BTreeMap<K, V, A>
    where\n+ A: Send,\n+ K: Send,\n+ V: Send,

    \u00a7

    impl<K, V, A> Sync for BTreeMap<K, V, A>
    where\n+ A: Sync,\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<K, V, A> Unpin for BTreeMap<K, V, A>
    where\n+ A: Unpin,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.Cursor.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.Cursor.html", "unified_diff": "@@ -1,40 +1,40 @@\n Cursor in alloc::collections::btree_map - Rust
    \n

    Struct alloc::collections::btree_map::Cursor

    source \u00b7
    pub struct Cursor<'a, K: 'a, V: 'a> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)
    Expand description

    A cursor over a BTreeMap.

    \n

    A Cursor is like an iterator, except that it can freely seek back-and-forth.

    \n

    Cursors always point to a gap between two elements in the map, and can\n operate on the two immediately adjacent elements.

    \n

    A Cursor is created with the BTreeMap::lower_bound and BTreeMap::upper_bound methods.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, K, V> Cursor<'a, K, V>

    source

    pub fn next(&mut self) -> Option<(&'a K, &'a V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Advances the cursor to the next gap, returning the key and value of the\n+

    Implementations\u00a7

    source\u00a7

    impl<'a, K, V> Cursor<'a, K, V>

    source

    pub fn next(&mut self) -> Option<(&'a K, &'a V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Advances the cursor to the next gap, returning the key and value of the\n element that it moved over.

    \n

    If the cursor is already at the end of the map then None is returned\n and the cursor is not moved.

    \n-
    source

    pub fn prev(&mut self) -> Option<(&'a K, &'a V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Advances the cursor to the previous gap, returning the key and value of\n+

    source

    pub fn prev(&mut self) -> Option<(&'a K, &'a V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Advances the cursor to the previous gap, returning the key and value of\n the element that it moved over.

    \n

    If the cursor is already at the start of the map then None is returned\n and the cursor is not moved.

    \n-
    source

    pub fn peek_next(&self) -> Option<(&'a K, &'a V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a reference to the key and value of the next element without\n+

    source

    pub fn peek_next(&self) -> Option<(&'a K, &'a V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a reference to the key and value of the next element without\n moving the cursor.

    \n

    If the cursor is at the end of the map then None is returned

    \n-
    source

    pub fn peek_prev(&self) -> Option<(&'a K, &'a V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a reference to the key and value of the previous element\n+

    source

    pub fn peek_prev(&self) -> Option<(&'a K, &'a V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a reference to the key and value of the previous element\n without moving the cursor.

    \n

    If the cursor is at the start of the map then None is returned.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<K, V> Clone for Cursor<'_, K, V>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<K: Debug, V: Debug> Debug for Cursor<'_, K, V>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V> Freeze for Cursor<'a, K, V>

    \u00a7

    impl<'a, K, V> RefUnwindSafe for Cursor<'a, K, V>
    where\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V> Send for Cursor<'a, K, V>
    where\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<'a, K, V> Sync for Cursor<'a, K, V>
    where\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<'a, K, V> Unpin for Cursor<'a, K, V>

    \u00a7

    impl<'a, K, V> UnwindSafe for Cursor<'a, K, V>
    where\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<K, V> Clone for Cursor<'_, K, V>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<K: Debug, V: Debug> Debug for Cursor<'_, K, V>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V> Freeze for Cursor<'a, K, V>

    \u00a7

    impl<'a, K, V> RefUnwindSafe for Cursor<'a, K, V>
    where\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V> Send for Cursor<'a, K, V>
    where\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<'a, K, V> Sync for Cursor<'a, K, V>
    where\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<'a, K, V> Unpin for Cursor<'a, K, V>

    \u00a7

    impl<'a, K, V> UnwindSafe for Cursor<'a, K, V>
    where\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.CursorMut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.CursorMut.html", "unified_diff": "@@ -4,26 +4,26 @@\n safely mutate the map during iteration. This is because the lifetime of its yielded\n references is tied to its own lifetime, instead of just the underlying map. This means\n cursors cannot yield multiple elements at once.

    \n

    Cursors always point to a gap between two elements in the map, and can\n operate on the two immediately adjacent elements.

    \n

    A CursorMut is created with the BTreeMap::lower_bound_mut and BTreeMap::upper_bound_mut\n methods.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, K, V, A> CursorMut<'a, K, V, A>

    source

    pub fn next(&mut self) -> Option<(&K, &mut V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Advances the cursor to the next gap, returning the key and value of the\n+

    Implementations\u00a7

    source\u00a7

    impl<'a, K, V, A> CursorMut<'a, K, V, A>

    source

    pub fn next(&mut self) -> Option<(&K, &mut V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Advances the cursor to the next gap, returning the key and value of the\n element that it moved over.

    \n

    If the cursor is already at the end of the map then None is returned\n and the cursor is not moved.

    \n-
    source

    pub fn prev(&mut self) -> Option<(&K, &mut V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Advances the cursor to the previous gap, returning the key and value of\n+

    source

    pub fn prev(&mut self) -> Option<(&K, &mut V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Advances the cursor to the previous gap, returning the key and value of\n the element that it moved over.

    \n

    If the cursor is already at the start of the map then None is returned\n and the cursor is not moved.

    \n-
    source

    pub fn peek_next(&mut self) -> Option<(&K, &mut V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a reference to the key and value of the next element without\n+

    source

    pub fn peek_next(&mut self) -> Option<(&K, &mut V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a reference to the key and value of the next element without\n moving the cursor.

    \n

    If the cursor is at the end of the map then None is returned

    \n-
    source

    pub fn peek_prev(&mut self) -> Option<(&K, &mut V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a reference to the key and value of the previous element\n+

    source

    pub fn peek_prev(&mut self) -> Option<(&K, &mut V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a reference to the key and value of the previous element\n without moving the cursor.

    \n

    If the cursor is at the start of the map then None is returned.

    \n
    source

    pub fn as_cursor(&self) -> Cursor<'_, K, V>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a read-only cursor pointing to the same location as the\n CursorMut.

    \n

    The lifetime of the returned Cursor is bound to that of the\n CursorMut, which means it cannot outlive the CursorMut and that the\n CursorMut is frozen for the lifetime of the Cursor.

    \n@@ -32,15 +32,15 @@\n
    \u00a7Safety
    \n

    Since this cursor allows mutating keys, you must ensure that the BTreeMap\n invariants are maintained. Specifically:

    \n
      \n
    • The key of the newly inserted element must be unique in the tree.
    • \n
    • All keys in the tree must remain in sorted order.
    • \n
    \n-
    source\u00a7

    impl<'a, K: Ord, V, A: Allocator + Clone> CursorMut<'a, K, V, A>

    source

    pub unsafe fn insert_after_unchecked(&mut self, key: K, value: V)

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Inserts a new key-value pair into the map in the gap that the\n+

    source\u00a7

    impl<'a, K: Ord, V, A: Allocator + Clone> CursorMut<'a, K, V, A>

    source

    pub unsafe fn insert_after_unchecked(&mut self, key: K, value: V)

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Inserts a new key-value pair into the map in the gap that the\n cursor is currently pointing to.

    \n

    After the insertion the cursor will be pointing at the gap after the\n newly inserted element.

    \n
    \u00a7Safety
    \n

    You must ensure that the BTreeMap invariants are maintained.\n Specifically:

    \n
      \n@@ -58,53 +58,53 @@\n
    • The key of the newly inserted element must be unique in the tree.
    • \n
    • All keys in the tree must remain in sorted order.
    • \n
    \n
    source

    pub fn insert_after(\n &mut self,\n key: K,\n value: V\n-) -> Result<(), UnorderedKeyError>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Inserts a new key-value pair into the map in the gap that the\n+) -> Result<(), UnorderedKeyError>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Inserts a new key-value pair into the map in the gap that the\n cursor is currently pointing to.

    \n

    After the insertion the cursor will be pointing at the gap before the\n newly inserted element.

    \n

    If the inserted key is not greater than the key before the cursor\n (if any), or if it not less than the key after the cursor (if any),\n then an UnorderedKeyError is returned since this would\n-invalidate the Ord invariant between the keys of the map.

    \n+invalidate the Ord invariant between the keys of the map.

    \n
    source

    pub fn insert_before(\n &mut self,\n key: K,\n value: V\n-) -> Result<(), UnorderedKeyError>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Inserts a new key-value pair into the map in the gap that the\n+) -> Result<(), UnorderedKeyError>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Inserts a new key-value pair into the map in the gap that the\n cursor is currently pointing to.

    \n

    After the insertion the cursor will be pointing at the gap after the\n newly inserted element.

    \n

    If the inserted key is not greater than the key before the cursor\n (if any), or if it not less than the key after the cursor (if any),\n then an UnorderedKeyError is returned since this would\n-invalidate the Ord invariant between the keys of the map.

    \n-
    source

    pub fn remove_next(&mut self) -> Option<(K, V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Removes the next element from the BTreeMap.

    \n+invalidate the Ord invariant between the keys of the map.

    \n+
    source

    pub fn remove_next(&mut self) -> Option<(K, V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Removes the next element from the BTreeMap.

    \n

    The element that was removed is returned. The cursor position is\n unchanged (before the removed element).

    \n-
    source

    pub fn remove_prev(&mut self) -> Option<(K, V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Removes the precending element from the BTreeMap.

    \n+
    source

    pub fn remove_prev(&mut self) -> Option<(K, V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Removes the precending element from the BTreeMap.

    \n

    The element that was removed is returned. The cursor position is\n unchanged (after the removed element).

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<K: Debug, V: Debug, A> Debug for CursorMut<'_, K, V, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V, A> Freeze for CursorMut<'a, K, V, A>

    \u00a7

    impl<'a, K, V, A> RefUnwindSafe for CursorMut<'a, K, V, A>
    where\n- A: RefUnwindSafe,\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V, A> Send for CursorMut<'a, K, V, A>
    where\n- A: Send,\n- K: Send,\n- V: Send,

    \u00a7

    impl<'a, K, V, A> Sync for CursorMut<'a, K, V, A>
    where\n- A: Sync,\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<'a, K, V, A> Unpin for CursorMut<'a, K, V, A>

    \u00a7

    impl<'a, K, V, A = Global> !UnwindSafe for CursorMut<'a, K, V, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<K: Debug, V: Debug, A> Debug for CursorMut<'_, K, V, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V, A> Freeze for CursorMut<'a, K, V, A>

    \u00a7

    impl<'a, K, V, A> RefUnwindSafe for CursorMut<'a, K, V, A>
    where\n+ A: RefUnwindSafe,\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V, A> Send for CursorMut<'a, K, V, A>
    where\n+ A: Send,\n+ K: Send,\n+ V: Send,

    \u00a7

    impl<'a, K, V, A> Sync for CursorMut<'a, K, V, A>
    where\n+ A: Sync,\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<'a, K, V, A> Unpin for CursorMut<'a, K, V, A>

    \u00a7

    impl<'a, K, V, A = Global> !UnwindSafe for CursorMut<'a, K, V, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.CursorMutKey.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.CursorMutKey.html", "unified_diff": "@@ -12,34 +12,34 @@\n

    \u00a7Safety

    \n

    Since this cursor allows mutating keys, you must ensure that the BTreeMap\n invariants are maintained. Specifically:

    \n
      \n
    • The key of the newly inserted element must be unique in the tree.
    • \n
    • All keys in the tree must remain in sorted order.
    • \n
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, K, V, A> CursorMutKey<'a, K, V, A>

    source

    pub fn next(&mut self) -> Option<(&mut K, &mut V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Advances the cursor to the next gap, returning the key and value of the\n+

    Implementations\u00a7

    source\u00a7

    impl<'a, K, V, A> CursorMutKey<'a, K, V, A>

    source

    pub fn next(&mut self) -> Option<(&mut K, &mut V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Advances the cursor to the next gap, returning the key and value of the\n element that it moved over.

    \n

    If the cursor is already at the end of the map then None is returned\n and the cursor is not moved.

    \n-
    source

    pub fn prev(&mut self) -> Option<(&mut K, &mut V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Advances the cursor to the previous gap, returning the key and value of\n+

    source

    pub fn prev(&mut self) -> Option<(&mut K, &mut V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Advances the cursor to the previous gap, returning the key and value of\n the element that it moved over.

    \n

    If the cursor is already at the start of the map then None is returned\n and the cursor is not moved.

    \n-
    source

    pub fn peek_next(&mut self) -> Option<(&mut K, &mut V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a reference to the key and value of the next element without\n+

    source

    pub fn peek_next(&mut self) -> Option<(&mut K, &mut V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a reference to the key and value of the next element without\n moving the cursor.

    \n

    If the cursor is at the end of the map then None is returned

    \n-
    source

    pub fn peek_prev(&mut self) -> Option<(&mut K, &mut V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a reference to the key and value of the previous element\n+

    source

    pub fn peek_prev(&mut self) -> Option<(&mut K, &mut V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a reference to the key and value of the previous element\n without moving the cursor.

    \n

    If the cursor is at the start of the map then None is returned.

    \n
    source

    pub fn as_cursor(&self) -> Cursor<'_, K, V>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Returns a read-only cursor pointing to the same location as the\n CursorMutKey.

    \n

    The lifetime of the returned Cursor is bound to that of the\n CursorMutKey, which means it cannot outlive the CursorMutKey and that the\n CursorMutKey is frozen for the lifetime of the Cursor.

    \n-
    source\u00a7

    impl<'a, K: Ord, V, A: Allocator + Clone> CursorMutKey<'a, K, V, A>

    source

    pub unsafe fn insert_after_unchecked(&mut self, key: K, value: V)

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Inserts a new key-value pair into the map in the gap that the\n+

    source\u00a7

    impl<'a, K: Ord, V, A: Allocator + Clone> CursorMutKey<'a, K, V, A>

    source

    pub unsafe fn insert_after_unchecked(&mut self, key: K, value: V)

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Inserts a new key-value pair into the map in the gap that the\n cursor is currently pointing to.

    \n

    After the insertion the cursor will be pointing at the gap before the\n newly inserted element.

    \n
    \u00a7Safety
    \n

    You must ensure that the BTreeMap invariants are maintained.\n Specifically:

    \n
      \n@@ -57,53 +57,53 @@\n
    • The key of the newly inserted element must be unique in the tree.
    • \n
    • All keys in the tree must remain in sorted order.
    • \n
    \n
    source

    pub fn insert_after(\n &mut self,\n key: K,\n value: V\n-) -> Result<(), UnorderedKeyError>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Inserts a new key-value pair into the map in the gap that the\n+) -> Result<(), UnorderedKeyError>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Inserts a new key-value pair into the map in the gap that the\n cursor is currently pointing to.

    \n

    After the insertion the cursor will be pointing at the gap before the\n newly inserted element.

    \n

    If the inserted key is not greater than the key before the cursor\n (if any), or if it not less than the key after the cursor (if any),\n then an UnorderedKeyError is returned since this would\n-invalidate the Ord invariant between the keys of the map.

    \n+invalidate the Ord invariant between the keys of the map.

    \n
    source

    pub fn insert_before(\n &mut self,\n key: K,\n value: V\n-) -> Result<(), UnorderedKeyError>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Inserts a new key-value pair into the map in the gap that the\n+) -> Result<(), UnorderedKeyError>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Inserts a new key-value pair into the map in the gap that the\n cursor is currently pointing to.

    \n

    After the insertion the cursor will be pointing at the gap after the\n newly inserted element.

    \n

    If the inserted key is not greater than the key before the cursor\n (if any), or if it not less than the key after the cursor (if any),\n then an UnorderedKeyError is returned since this would\n-invalidate the Ord invariant between the keys of the map.

    \n-
    source

    pub fn remove_next(&mut self) -> Option<(K, V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Removes the next element from the BTreeMap.

    \n+invalidate the Ord invariant between the keys of the map.

    \n+
    source

    pub fn remove_next(&mut self) -> Option<(K, V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Removes the next element from the BTreeMap.

    \n

    The element that was removed is returned. The cursor position is\n unchanged (before the removed element).

    \n-
    source

    pub fn remove_prev(&mut self) -> Option<(K, V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Removes the precending element from the BTreeMap.

    \n+
    source

    pub fn remove_prev(&mut self) -> Option<(K, V)>

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)

    Removes the precending element from the BTreeMap.

    \n

    The element that was removed is returned. The cursor position is\n unchanged (after the removed element).

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<K: Debug, V: Debug, A> Debug for CursorMutKey<'_, K, V, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V, A> Freeze for CursorMutKey<'a, K, V, A>

    \u00a7

    impl<'a, K, V, A> RefUnwindSafe for CursorMutKey<'a, K, V, A>
    where\n- A: RefUnwindSafe,\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V, A> Send for CursorMutKey<'a, K, V, A>
    where\n- A: Send,\n- K: Send,\n- V: Send,

    \u00a7

    impl<'a, K, V, A> Sync for CursorMutKey<'a, K, V, A>
    where\n- A: Sync,\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<'a, K, V, A> Unpin for CursorMutKey<'a, K, V, A>

    \u00a7

    impl<'a, K, V, A = Global> !UnwindSafe for CursorMutKey<'a, K, V, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<K: Debug, V: Debug, A> Debug for CursorMutKey<'_, K, V, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V, A> Freeze for CursorMutKey<'a, K, V, A>

    \u00a7

    impl<'a, K, V, A> RefUnwindSafe for CursorMutKey<'a, K, V, A>
    where\n+ A: RefUnwindSafe,\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V, A> Send for CursorMutKey<'a, K, V, A>
    where\n+ A: Send,\n+ K: Send,\n+ V: Send,

    \u00a7

    impl<'a, K, V, A> Sync for CursorMutKey<'a, K, V, A>
    where\n+ A: Sync,\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<'a, K, V, A> Unpin for CursorMutKey<'a, K, V, A>

    \u00a7

    impl<'a, K, V, A = Global> !UnwindSafe for CursorMutKey<'a, K, V, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.ExtractIf.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.ExtractIf.html", "unified_diff": "@@ -1,213 +1,213 @@\n ExtractIf in alloc::collections::btree_map - Rust
    \n-
    pub struct ExtractIf<'a, K, V, F, A: Allocator + Clone = Global>
    where\n- F: 'a + FnMut(&K, &mut V) -> bool,
    { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (btree_extract_if #70530)
    Expand description

    An iterator produced by calling extract_if on BTreeMap.

    \n+
    pub struct ExtractIf<'a, K, V, F, A: Allocator + Clone = Global>
    where\n+ F: 'a + FnMut(&K, &mut V) -> bool,
    { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (btree_extract_if #70530)
    Expand description

    An iterator produced by calling extract_if on BTreeMap.

    \n

    Trait Implementations\u00a7

    source\u00a7

    impl<K, V, F> Debug for ExtractIf<'_, K, V, F>
    where\n K: Debug,\n V: Debug,\n- F: FnMut(&K, &mut V) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<K, V, F, A: Allocator + Clone> Iterator for ExtractIf<'_, K, V, F, A>
    where\n- F: FnMut(&K, &mut V) -> bool,

    \u00a7

    type Item = (K, V)

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<(K, V)>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ F: FnMut(&K, &mut V) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<K, V, F, A: Allocator + Clone> Iterator for ExtractIf<'_, K, V, F, A>
    where\n+ F: FnMut(&K, &mut V) -> bool,

    \u00a7

    type Item = (K, V)

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<(K, V)>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<K, V, F> FusedIterator for ExtractIf<'_, K, V, F>
    where\n- F: FnMut(&K, &mut V) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V, F, A> Freeze for ExtractIf<'a, K, V, F, A>
    where\n- A: Freeze,\n- F: Freeze,

    \u00a7

    impl<'a, K, V, F, A> RefUnwindSafe for ExtractIf<'a, K, V, F, A>
    where\n- A: RefUnwindSafe,\n- F: RefUnwindSafe,\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V, F, A> Send for ExtractIf<'a, K, V, F, A>
    where\n- A: Send,\n- F: Send,\n- K: Send,\n- V: Send,

    \u00a7

    impl<'a, K, V, F, A> Sync for ExtractIf<'a, K, V, F, A>
    where\n- A: Sync,\n- F: Sync,\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<'a, K, V, F, A> Unpin for ExtractIf<'a, K, V, F, A>
    where\n- A: Unpin,\n- F: Unpin,

    \u00a7

    impl<'a, K, V, F, A = Global> !UnwindSafe for ExtractIf<'a, K, V, F, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<K, V, F> FusedIterator for ExtractIf<'_, K, V, F>
    where\n+ F: FnMut(&K, &mut V) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V, F, A> Freeze for ExtractIf<'a, K, V, F, A>
    where\n+ A: Freeze,\n+ F: Freeze,

    \u00a7

    impl<'a, K, V, F, A> RefUnwindSafe for ExtractIf<'a, K, V, F, A>
    where\n+ A: RefUnwindSafe,\n+ F: RefUnwindSafe,\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V, F, A> Send for ExtractIf<'a, K, V, F, A>
    where\n+ A: Send,\n+ F: Send,\n+ K: Send,\n+ V: Send,

    \u00a7

    impl<'a, K, V, F, A> Sync for ExtractIf<'a, K, V, F, A>
    where\n+ A: Sync,\n+ F: Sync,\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<'a, K, V, F, A> Unpin for ExtractIf<'a, K, V, F, A>
    where\n+ A: Unpin,\n+ F: Unpin,

    \u00a7

    impl<'a, K, V, F, A = Global> !UnwindSafe for ExtractIf<'a, K, V, F, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.IntoIter.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.IntoIter.html", "unified_diff": "@@ -1,230 +1,230 @@\n IntoIter in alloc::collections::btree_map - Rust
    \n-

    Struct alloc::collections::btree_map::IntoIter

    1.0.0 \u00b7 source \u00b7
    pub struct IntoIter<K, V, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    An owning iterator over the entries of a BTreeMap.

    \n-

    This struct is created by the into_iter method on BTreeMap\n-(provided by the IntoIterator trait). See its documentation for more.

    \n-

    Trait Implementations\u00a7

    1.17.0 \u00b7 source\u00a7

    impl<K: Debug, V: Debug, A: Allocator + Clone> Debug for IntoIter<K, V, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<K, V, A> Default for IntoIter<K, V, A>
    where\n- A: Allocator + Default + Clone,

    source\u00a7

    fn default() -> Self

    Creates an empty btree_map::IntoIter.

    \n+

    Struct alloc::collections::btree_map::IntoIter

    1.0.0 \u00b7 source \u00b7
    pub struct IntoIter<K, V, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    An owning iterator over the entries of a BTreeMap.

    \n+

    This struct is created by the into_iter method on BTreeMap\n+(provided by the IntoIterator trait). See its documentation for more.

    \n+

    Trait Implementations\u00a7

    1.17.0 \u00b7 source\u00a7

    impl<K: Debug, V: Debug, A: Allocator + Clone> Debug for IntoIter<K, V, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<K, V, A> Default for IntoIter<K, V, A>
    where\n+ A: Allocator + Default + Clone,

    source\u00a7

    fn default() -> Self

    Creates an empty btree_map::IntoIter.

    \n \n
    let iter: btree_map::IntoIter<u8, u8> = Default::default();\n assert_eq!(iter.len(), 0);
    Run
    \n-
    source\u00a7

    impl<K, V, A: Allocator + Clone> DoubleEndedIterator for IntoIter<K, V, A>

    source\u00a7

    fn next_back(&mut self) -> Option<(K, V)>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    1.7.0 \u00b7 source\u00a7

    impl<K, V, A: Allocator + Clone> Drop for IntoIter<K, V, A>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source\u00a7

    impl<K, V, A: Allocator + Clone> ExactSizeIterator for IntoIter<K, V, A>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<K, V, A: Allocator + Clone> Iterator for IntoIter<K, V, A>

    \u00a7

    type Item = (K, V)

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<(K, V)>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    source\u00a7

    impl<K, V, A: Allocator + Clone> DoubleEndedIterator for IntoIter<K, V, A>

    source\u00a7

    fn next_back(&mut self) -> Option<(K, V)>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    1.7.0 \u00b7 source\u00a7

    impl<K, V, A: Allocator + Clone> Drop for IntoIter<K, V, A>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source\u00a7

    impl<K, V, A: Allocator + Clone> ExactSizeIterator for IntoIter<K, V, A>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<K, V, A: Allocator + Clone> Iterator for IntoIter<K, V, A>

    \u00a7

    type Item = (K, V)

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<(K, V)>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<K, V, A: Allocator + Clone> FusedIterator for IntoIter<K, V, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<K, V, A> Freeze for IntoIter<K, V, A>
    where\n- A: Freeze,

    \u00a7

    impl<K, V, A> RefUnwindSafe for IntoIter<K, V, A>
    where\n- A: RefUnwindSafe,\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    \u00a7

    impl<K, V, A> Send for IntoIter<K, V, A>
    where\n- A: Send,\n- K: Send,\n- V: Send,

    \u00a7

    impl<K, V, A> Sync for IntoIter<K, V, A>
    where\n- A: Sync,\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<K, V, A> Unpin for IntoIter<K, V, A>
    where\n- A: Unpin,

    \u00a7

    impl<K, V, A> UnwindSafe for IntoIter<K, V, A>
    where\n- A: UnwindSafe,\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<K, V, A: Allocator + Clone> FusedIterator for IntoIter<K, V, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<K, V, A> Freeze for IntoIter<K, V, A>
    where\n+ A: Freeze,

    \u00a7

    impl<K, V, A> RefUnwindSafe for IntoIter<K, V, A>
    where\n+ A: RefUnwindSafe,\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    \u00a7

    impl<K, V, A> Send for IntoIter<K, V, A>
    where\n+ A: Send,\n+ K: Send,\n+ V: Send,

    \u00a7

    impl<K, V, A> Sync for IntoIter<K, V, A>
    where\n+ A: Sync,\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<K, V, A> Unpin for IntoIter<K, V, A>
    where\n+ A: Unpin,

    \u00a7

    impl<K, V, A> UnwindSafe for IntoIter<K, V, A>
    where\n+ A: UnwindSafe,\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.IntoKeys.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.IntoKeys.html", "unified_diff": "@@ -1,231 +1,231 @@\n IntoKeys in alloc::collections::btree_map - Rust
    \n-

    Struct alloc::collections::btree_map::IntoKeys

    1.54.0 \u00b7 source \u00b7
    pub struct IntoKeys<K, V, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    An owning iterator over the keys of a BTreeMap.

    \n+

    Struct alloc::collections::btree_map::IntoKeys

    1.54.0 \u00b7 source \u00b7
    pub struct IntoKeys<K, V, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    An owning iterator over the keys of a BTreeMap.

    \n

    This struct is created by the into_keys method on BTreeMap.\n See its documentation for more.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<K: Debug, V, A: Allocator + Clone> Debug for IntoKeys<K, V, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<K, V, A> Default for IntoKeys<K, V, A>
    where\n- A: Allocator + Default + Clone,

    source\u00a7

    fn default() -> Self

    Creates an empty btree_map::IntoKeys.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<K: Debug, V, A: Allocator + Clone> Debug for IntoKeys<K, V, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<K, V, A> Default for IntoKeys<K, V, A>
    where\n+ A: Allocator + Default + Clone,

    source\u00a7

    fn default() -> Self

    Creates an empty btree_map::IntoKeys.

    \n \n
    let iter: btree_map::IntoKeys<u8, u8> = Default::default();\n assert_eq!(iter.len(), 0);
    Run
    \n-
    source\u00a7

    impl<K, V, A: Allocator + Clone> DoubleEndedIterator for IntoKeys<K, V, A>

    source\u00a7

    fn next_back(&mut self) -> Option<K>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<K, V, A: Allocator + Clone> ExactSizeIterator for IntoKeys<K, V, A>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<K, V, A: Allocator + Clone> Iterator for IntoKeys<K, V, A>

    \u00a7

    type Item = K

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<K>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<K>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn min(self) -> Option<K>
    where\n- K: Ord,

    Returns the minimum element of an iterator. Read more
    source\u00a7

    fn max(self) -> Option<K>
    where\n- K: Ord,

    Returns the maximum element of an iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    source\u00a7

    impl<K, V, A: Allocator + Clone> DoubleEndedIterator for IntoKeys<K, V, A>

    source\u00a7

    fn next_back(&mut self) -> Option<K>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<K, V, A: Allocator + Clone> ExactSizeIterator for IntoKeys<K, V, A>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<K, V, A: Allocator + Clone> Iterator for IntoKeys<K, V, A>

    \u00a7

    type Item = K

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<K>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<K>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn min(self) -> Option<K>
    where\n+ K: Ord,

    Returns the minimum element of an iterator. Read more
    source\u00a7

    fn max(self) -> Option<K>
    where\n+ K: Ord,

    Returns the maximum element of an iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<K, V, A: Allocator + Clone> FusedIterator for IntoKeys<K, V, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<K, V, A> Freeze for IntoKeys<K, V, A>
    where\n- A: Freeze,

    \u00a7

    impl<K, V, A> RefUnwindSafe for IntoKeys<K, V, A>
    where\n- A: RefUnwindSafe,\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    \u00a7

    impl<K, V, A> Send for IntoKeys<K, V, A>
    where\n- A: Send,\n- K: Send,\n- V: Send,

    \u00a7

    impl<K, V, A> Sync for IntoKeys<K, V, A>
    where\n- A: Sync,\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<K, V, A> Unpin for IntoKeys<K, V, A>
    where\n- A: Unpin,

    \u00a7

    impl<K, V, A> UnwindSafe for IntoKeys<K, V, A>
    where\n- A: UnwindSafe,\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<K, V, A: Allocator + Clone> FusedIterator for IntoKeys<K, V, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<K, V, A> Freeze for IntoKeys<K, V, A>
    where\n+ A: Freeze,

    \u00a7

    impl<K, V, A> RefUnwindSafe for IntoKeys<K, V, A>
    where\n+ A: RefUnwindSafe,\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    \u00a7

    impl<K, V, A> Send for IntoKeys<K, V, A>
    where\n+ A: Send,\n+ K: Send,\n+ V: Send,

    \u00a7

    impl<K, V, A> Sync for IntoKeys<K, V, A>
    where\n+ A: Sync,\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<K, V, A> Unpin for IntoKeys<K, V, A>
    where\n+ A: Unpin,

    \u00a7

    impl<K, V, A> UnwindSafe for IntoKeys<K, V, A>
    where\n+ A: UnwindSafe,\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.IntoValues.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.IntoValues.html", "unified_diff": "@@ -1,229 +1,229 @@\n IntoValues in alloc::collections::btree_map - Rust
    \n-

    Struct alloc::collections::btree_map::IntoValues

    1.54.0 \u00b7 source \u00b7
    pub struct IntoValues<K, V, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    An owning iterator over the values of a BTreeMap.

    \n+

    Struct alloc::collections::btree_map::IntoValues

    1.54.0 \u00b7 source \u00b7
    pub struct IntoValues<K, V, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    An owning iterator over the values of a BTreeMap.

    \n

    This struct is created by the into_values method on BTreeMap.\n See its documentation for more.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<K, V: Debug, A: Allocator + Clone> Debug for IntoValues<K, V, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<K, V, A> Default for IntoValues<K, V, A>
    where\n- A: Allocator + Default + Clone,

    source\u00a7

    fn default() -> Self

    Creates an empty btree_map::IntoValues.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<K, V: Debug, A: Allocator + Clone> Debug for IntoValues<K, V, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<K, V, A> Default for IntoValues<K, V, A>
    where\n+ A: Allocator + Default + Clone,

    source\u00a7

    fn default() -> Self

    Creates an empty btree_map::IntoValues.

    \n \n
    let iter: btree_map::IntoValues<u8, u8> = Default::default();\n assert_eq!(iter.len(), 0);
    Run
    \n-
    source\u00a7

    impl<K, V, A: Allocator + Clone> DoubleEndedIterator for IntoValues<K, V, A>

    source\u00a7

    fn next_back(&mut self) -> Option<V>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<K, V, A: Allocator + Clone> ExactSizeIterator for IntoValues<K, V, A>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<K, V, A: Allocator + Clone> Iterator for IntoValues<K, V, A>

    \u00a7

    type Item = V

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<V>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<V>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    source\u00a7

    impl<K, V, A: Allocator + Clone> DoubleEndedIterator for IntoValues<K, V, A>

    source\u00a7

    fn next_back(&mut self) -> Option<V>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<K, V, A: Allocator + Clone> ExactSizeIterator for IntoValues<K, V, A>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<K, V, A: Allocator + Clone> Iterator for IntoValues<K, V, A>

    \u00a7

    type Item = V

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<V>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<V>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<K, V, A: Allocator + Clone> FusedIterator for IntoValues<K, V, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<K, V, A> Freeze for IntoValues<K, V, A>
    where\n- A: Freeze,

    \u00a7

    impl<K, V, A> RefUnwindSafe for IntoValues<K, V, A>
    where\n- A: RefUnwindSafe,\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    \u00a7

    impl<K, V, A> Send for IntoValues<K, V, A>
    where\n- A: Send,\n- K: Send,\n- V: Send,

    \u00a7

    impl<K, V, A> Sync for IntoValues<K, V, A>
    where\n- A: Sync,\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<K, V, A> Unpin for IntoValues<K, V, A>
    where\n- A: Unpin,

    \u00a7

    impl<K, V, A> UnwindSafe for IntoValues<K, V, A>
    where\n- A: UnwindSafe,\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<K, V, A: Allocator + Clone> FusedIterator for IntoValues<K, V, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<K, V, A> Freeze for IntoValues<K, V, A>
    where\n+ A: Freeze,

    \u00a7

    impl<K, V, A> RefUnwindSafe for IntoValues<K, V, A>
    where\n+ A: RefUnwindSafe,\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    \u00a7

    impl<K, V, A> Send for IntoValues<K, V, A>
    where\n+ A: Send,\n+ K: Send,\n+ V: Send,

    \u00a7

    impl<K, V, A> Sync for IntoValues<K, V, A>
    where\n+ A: Sync,\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<K, V, A> Unpin for IntoValues<K, V, A>
    where\n+ A: Unpin,

    \u00a7

    impl<K, V, A> UnwindSafe for IntoValues<K, V, A>
    where\n+ A: UnwindSafe,\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.Iter.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.Iter.html", "unified_diff": "@@ -1,226 +1,226 @@\n Iter in alloc::collections::btree_map - Rust
    \n

    Struct alloc::collections::btree_map::Iter

    1.0.0 \u00b7 source \u00b7
    pub struct Iter<'a, K: 'a, V: 'a> { /* private fields */ }
    Expand description

    An iterator over the entries of a BTreeMap.

    \n

    This struct is created by the iter method on BTreeMap. See its\n documentation for more.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<K, V> Clone for Iter<'_, K, V>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<K: Debug, V: Debug> Debug for Iter<'_, K, V>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<'a, K: 'a, V: 'a> Default for Iter<'a, K, V>

    source\u00a7

    fn default() -> Self

    Creates an empty btree_map::Iter.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<K, V> Clone for Iter<'_, K, V>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<K: Debug, V: Debug> Debug for Iter<'_, K, V>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<'a, K: 'a, V: 'a> Default for Iter<'a, K, V>

    source\u00a7

    fn default() -> Self

    Creates an empty btree_map::Iter.

    \n \n
    let iter: btree_map::Iter<'_, u8, u8> = Default::default();\n assert_eq!(iter.len(), 0);
    Run
    \n-
    source\u00a7

    impl<'a, K: 'a, V: 'a> DoubleEndedIterator for Iter<'a, K, V>

    source\u00a7

    fn next_back(&mut self) -> Option<(&'a K, &'a V)>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<K, V> ExactSizeIterator for Iter<'_, K, V>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, K: 'a, V: 'a> Iterator for Iter<'a, K, V>

    \u00a7

    type Item = (&'a K, &'a V)

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<(&'a K, &'a V)>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<(&'a K, &'a V)>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn min(self) -> Option<(&'a K, &'a V)>
    where\n- (&'a K, &'a V): Ord,

    Returns the minimum element of an iterator. Read more
    source\u00a7

    fn max(self) -> Option<(&'a K, &'a V)>
    where\n- (&'a K, &'a V): Ord,

    Returns the maximum element of an iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    source\u00a7

    impl<'a, K: 'a, V: 'a> DoubleEndedIterator for Iter<'a, K, V>

    source\u00a7

    fn next_back(&mut self) -> Option<(&'a K, &'a V)>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<K, V> ExactSizeIterator for Iter<'_, K, V>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, K: 'a, V: 'a> Iterator for Iter<'a, K, V>

    \u00a7

    type Item = (&'a K, &'a V)

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<(&'a K, &'a V)>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<(&'a K, &'a V)>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn min(self) -> Option<(&'a K, &'a V)>
    where\n+ (&'a K, &'a V): Ord,

    Returns the minimum element of an iterator. Read more
    source\u00a7

    fn max(self) -> Option<(&'a K, &'a V)>
    where\n+ (&'a K, &'a V): Ord,

    Returns the maximum element of an iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<K, V> FusedIterator for Iter<'_, K, V>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V> Freeze for Iter<'a, K, V>

    \u00a7

    impl<'a, K, V> RefUnwindSafe for Iter<'a, K, V>
    where\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V> Send for Iter<'a, K, V>
    where\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<'a, K, V> Sync for Iter<'a, K, V>
    where\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<'a, K, V> Unpin for Iter<'a, K, V>

    \u00a7

    impl<'a, K, V> UnwindSafe for Iter<'a, K, V>
    where\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<K, V> FusedIterator for Iter<'_, K, V>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V> Freeze for Iter<'a, K, V>

    \u00a7

    impl<'a, K, V> RefUnwindSafe for Iter<'a, K, V>
    where\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V> Send for Iter<'a, K, V>
    where\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<'a, K, V> Sync for Iter<'a, K, V>
    where\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<'a, K, V> Unpin for Iter<'a, K, V>

    \u00a7

    impl<'a, K, V> UnwindSafe for Iter<'a, K, V>
    where\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.IterMut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.IterMut.html", "unified_diff": "@@ -1,222 +1,222 @@\n IterMut in alloc::collections::btree_map - Rust
    \n

    Struct alloc::collections::btree_map::IterMut

    1.0.0 \u00b7 source \u00b7
    pub struct IterMut<'a, K: 'a, V: 'a> { /* private fields */ }
    Expand description

    A mutable iterator over the entries of a BTreeMap.

    \n

    This struct is created by the iter_mut method on BTreeMap. See its\n documentation for more.

    \n-

    Trait Implementations\u00a7

    1.17.0 \u00b7 source\u00a7

    impl<K: Debug, V: Debug> Debug for IterMut<'_, K, V>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<'a, K: 'a, V: 'a> Default for IterMut<'a, K, V>

    source\u00a7

    fn default() -> Self

    Creates an empty btree_map::IterMut.

    \n+

    Trait Implementations\u00a7

    1.17.0 \u00b7 source\u00a7

    impl<K: Debug, V: Debug> Debug for IterMut<'_, K, V>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<'a, K: 'a, V: 'a> Default for IterMut<'a, K, V>

    source\u00a7

    fn default() -> Self

    Creates an empty btree_map::IterMut.

    \n \n
    let iter: btree_map::IterMut<'_, u8, u8> = Default::default();\n assert_eq!(iter.len(), 0);
    Run
    \n-
    source\u00a7

    impl<'a, K, V> DoubleEndedIterator for IterMut<'a, K, V>

    source\u00a7

    fn next_back(&mut self) -> Option<(&'a K, &'a mut V)>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<K, V> ExactSizeIterator for IterMut<'_, K, V>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, K, V> Iterator for IterMut<'a, K, V>

    \u00a7

    type Item = (&'a K, &'a mut V)

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<(&'a K, &'a mut V)>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<(&'a K, &'a mut V)>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn min(self) -> Option<(&'a K, &'a mut V)>
    where\n- (&'a K, &'a mut V): Ord,

    Returns the minimum element of an iterator. Read more
    source\u00a7

    fn max(self) -> Option<(&'a K, &'a mut V)>
    where\n- (&'a K, &'a mut V): Ord,

    Returns the maximum element of an iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    source\u00a7

    impl<'a, K, V> DoubleEndedIterator for IterMut<'a, K, V>

    source\u00a7

    fn next_back(&mut self) -> Option<(&'a K, &'a mut V)>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<K, V> ExactSizeIterator for IterMut<'_, K, V>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, K, V> Iterator for IterMut<'a, K, V>

    \u00a7

    type Item = (&'a K, &'a mut V)

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<(&'a K, &'a mut V)>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<(&'a K, &'a mut V)>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn min(self) -> Option<(&'a K, &'a mut V)>
    where\n+ (&'a K, &'a mut V): Ord,

    Returns the minimum element of an iterator. Read more
    source\u00a7

    fn max(self) -> Option<(&'a K, &'a mut V)>
    where\n+ (&'a K, &'a mut V): Ord,

    Returns the maximum element of an iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<K, V> FusedIterator for IterMut<'_, K, V>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V> Freeze for IterMut<'a, K, V>

    \u00a7

    impl<'a, K, V> RefUnwindSafe for IterMut<'a, K, V>
    where\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V> Send for IterMut<'a, K, V>
    where\n- K: Send,\n- V: Send,

    \u00a7

    impl<'a, K, V> Sync for IterMut<'a, K, V>
    where\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<'a, K, V> Unpin for IterMut<'a, K, V>

    \u00a7

    impl<'a, K, V> !UnwindSafe for IterMut<'a, K, V>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<K, V> FusedIterator for IterMut<'_, K, V>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V> Freeze for IterMut<'a, K, V>

    \u00a7

    impl<'a, K, V> RefUnwindSafe for IterMut<'a, K, V>
    where\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V> Send for IterMut<'a, K, V>
    where\n+ K: Send,\n+ V: Send,

    \u00a7

    impl<'a, K, V> Sync for IterMut<'a, K, V>
    where\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<'a, K, V> Unpin for IterMut<'a, K, V>

    \u00a7

    impl<'a, K, V> !UnwindSafe for IterMut<'a, K, V>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.Keys.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.Keys.html", "unified_diff": "@@ -1,226 +1,226 @@\n Keys in alloc::collections::btree_map - Rust
    \n

    Struct alloc::collections::btree_map::Keys

    1.0.0 \u00b7 source \u00b7
    pub struct Keys<'a, K, V> { /* private fields */ }
    Expand description

    An iterator over the keys of a BTreeMap.

    \n

    This struct is created by the keys method on BTreeMap. See its\n documentation for more.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<K, V> Clone for Keys<'_, K, V>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<K: Debug, V> Debug for Keys<'_, K, V>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<K, V> Default for Keys<'_, K, V>

    source\u00a7

    fn default() -> Self

    Creates an empty btree_map::Keys.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<K, V> Clone for Keys<'_, K, V>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<K: Debug, V> Debug for Keys<'_, K, V>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<K, V> Default for Keys<'_, K, V>

    source\u00a7

    fn default() -> Self

    Creates an empty btree_map::Keys.

    \n \n
    let iter: btree_map::Keys<'_, u8, u8> = Default::default();\n assert_eq!(iter.len(), 0);
    Run
    \n-
    source\u00a7

    impl<'a, K, V> DoubleEndedIterator for Keys<'a, K, V>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a K>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<K, V> ExactSizeIterator for Keys<'_, K, V>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, K, V> Iterator for Keys<'a, K, V>

    \u00a7

    type Item = &'a K

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a K>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<&'a K>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn min(self) -> Option<&'a K>
    where\n- &'a K: Ord,

    Returns the minimum element of an iterator. Read more
    source\u00a7

    fn max(self) -> Option<&'a K>
    where\n- &'a K: Ord,

    Returns the maximum element of an iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    source\u00a7

    impl<'a, K, V> DoubleEndedIterator for Keys<'a, K, V>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a K>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<K, V> ExactSizeIterator for Keys<'_, K, V>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, K, V> Iterator for Keys<'a, K, V>

    \u00a7

    type Item = &'a K

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a K>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<&'a K>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn min(self) -> Option<&'a K>
    where\n+ &'a K: Ord,

    Returns the minimum element of an iterator. Read more
    source\u00a7

    fn max(self) -> Option<&'a K>
    where\n+ &'a K: Ord,

    Returns the maximum element of an iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<K, V> FusedIterator for Keys<'_, K, V>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V> Freeze for Keys<'a, K, V>

    \u00a7

    impl<'a, K, V> RefUnwindSafe for Keys<'a, K, V>
    where\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V> Send for Keys<'a, K, V>
    where\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<'a, K, V> Sync for Keys<'a, K, V>
    where\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<'a, K, V> Unpin for Keys<'a, K, V>

    \u00a7

    impl<'a, K, V> UnwindSafe for Keys<'a, K, V>
    where\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<K, V> FusedIterator for Keys<'_, K, V>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V> Freeze for Keys<'a, K, V>

    \u00a7

    impl<'a, K, V> RefUnwindSafe for Keys<'a, K, V>
    where\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V> Send for Keys<'a, K, V>
    where\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<'a, K, V> Sync for Keys<'a, K, V>
    where\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<'a, K, V> Unpin for Keys<'a, K, V>

    \u00a7

    impl<'a, K, V> UnwindSafe for Keys<'a, K, V>
    where\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.OccupiedEntry.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.OccupiedEntry.html", "unified_diff": "@@ -1,44 +1,44 @@\n OccupiedEntry in alloc::collections::btree_map - Rust
    \n-

    Struct alloc::collections::btree_map::OccupiedEntry

    1.0.0 \u00b7 source \u00b7
    pub struct OccupiedEntry<'a, K, V, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    A view into an occupied entry in a BTreeMap.\n+

    Struct alloc::collections::btree_map::OccupiedEntry

    1.0.0 \u00b7 source \u00b7
    pub struct OccupiedEntry<'a, K, V, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    A view into an occupied entry in a BTreeMap.\n It is part of the Entry enum.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, K: Ord, V, A: Allocator + Clone> OccupiedEntry<'a, K, V, A>

    1.10.0 \u00b7 source

    pub fn key(&self) -> &K

    Gets a reference to the key in the entry.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a, K: Ord, V, A: Allocator + Clone> OccupiedEntry<'a, K, V, A>

    1.10.0 \u00b7 source

    pub fn key(&self) -> &K

    Gets a reference to the key in the entry.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut map: BTreeMap<&str, usize> = BTreeMap::new();\n map.entry(\"poneyland\").or_insert(12);\n assert_eq!(map.entry(\"poneyland\").key(), &\"poneyland\");
    Run
    \n-
    1.12.0 \u00b7 source

    pub fn remove_entry(self) -> (K, V)

    Take ownership of the key and value from the map.

    \n+
    1.12.0 \u00b7 source

    pub fn remove_entry(self) -> (K, V)

    Take ownership of the key and value from the map.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n use std::collections::btree_map::Entry;\n \n let mut map: BTreeMap<&str, usize> = BTreeMap::new();\n map.entry(\"poneyland\").or_insert(12);\n \n if let Entry::Occupied(o) = map.entry(\"poneyland\") {\n     // We delete the entry from the map.\n     o.remove_entry();\n }\n \n // If now try to get the value, it will panic:\n // println!(\"{}\", map[\"poneyland\"]);
    Run
    \n-
    source

    pub fn get(&self) -> &V

    Gets a reference to the value in the entry.

    \n+
    source

    pub fn get(&self) -> &V

    Gets a reference to the value in the entry.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n use std::collections::btree_map::Entry;\n \n let mut map: BTreeMap<&str, usize> = BTreeMap::new();\n map.entry(\"poneyland\").or_insert(12);\n \n if let Entry::Occupied(o) = map.entry(\"poneyland\") {\n     assert_eq!(o.get(), &12);\n }
    Run
    \n-
    source

    pub fn get_mut(&mut self) -> &mut V

    Gets a mutable reference to the value in the entry.

    \n+
    source

    pub fn get_mut(&mut self) -> &mut V

    Gets a mutable reference to the value in the entry.

    \n

    If you need a reference to the OccupiedEntry that may outlive the\n destruction of the Entry value, see into_mut.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n use std::collections::btree_map::Entry;\n \n let mut map: BTreeMap<&str, usize> = BTreeMap::new();\n@@ -49,15 +49,15 @@\n     *o.get_mut() += 10;\n     assert_eq!(*o.get(), 22);\n \n     // We can use the same Entry multiple times.\n     *o.get_mut() += 2;\n }\n assert_eq!(map[\"poneyland\"], 24);
    Run
    \n-
    source

    pub fn into_mut(self) -> &'a mut V

    Converts the entry into a mutable reference to its value.

    \n+
    source

    pub fn into_mut(self) -> &'a mut V

    Converts the entry into a mutable reference to its value.

    \n

    If you need multiple references to the OccupiedEntry, see get_mut.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n use std::collections::btree_map::Entry;\n \n let mut map: BTreeMap<&str, usize> = BTreeMap::new();\n map.entry(\"poneyland\").or_insert(12);\n@@ -89,29 +89,29 @@\n map.entry(\"poneyland\").or_insert(12);\n \n if let Entry::Occupied(o) = map.entry(\"poneyland\") {\n     assert_eq!(o.remove(), 12);\n }\n // If we try to get \"poneyland\"'s value, it'll panic:\n // println!(\"{}\", map[\"poneyland\"]);
    Run
    \n-

    Trait Implementations\u00a7

    1.12.0 \u00b7 source\u00a7

    impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for OccupiedEntry<'_, K, V, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V, A> Freeze for OccupiedEntry<'a, K, V, A>
    where\n- A: Freeze,

    \u00a7

    impl<'a, K, V, A> RefUnwindSafe for OccupiedEntry<'a, K, V, A>
    where\n- A: RefUnwindSafe,\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V, A> Send for OccupiedEntry<'a, K, V, A>
    where\n- A: Send,\n- K: Send,\n- V: Send,

    \u00a7

    impl<'a, K, V, A> Sync for OccupiedEntry<'a, K, V, A>
    where\n- A: Sync,\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<'a, K, V, A> Unpin for OccupiedEntry<'a, K, V, A>
    where\n- A: Unpin,

    \u00a7

    impl<'a, K, V, A = Global> !UnwindSafe for OccupiedEntry<'a, K, V, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    1.12.0 \u00b7 source\u00a7

    impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for OccupiedEntry<'_, K, V, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V, A> Freeze for OccupiedEntry<'a, K, V, A>
    where\n+ A: Freeze,

    \u00a7

    impl<'a, K, V, A> RefUnwindSafe for OccupiedEntry<'a, K, V, A>
    where\n+ A: RefUnwindSafe,\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V, A> Send for OccupiedEntry<'a, K, V, A>
    where\n+ A: Send,\n+ K: Send,\n+ V: Send,

    \u00a7

    impl<'a, K, V, A> Sync for OccupiedEntry<'a, K, V, A>
    where\n+ A: Sync,\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<'a, K, V, A> Unpin for OccupiedEntry<'a, K, V, A>
    where\n+ A: Unpin,

    \u00a7

    impl<'a, K, V, A = Global> !UnwindSafe for OccupiedEntry<'a, K, V, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.OccupiedError.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.OccupiedError.html", "unified_diff": "@@ -1,33 +1,33 @@\n OccupiedError in alloc::collections::btree_map - Rust
    \n-
    pub struct OccupiedError<'a, K: 'a, V: 'a, A: Allocator + Clone = Global> {\n+    
    pub struct OccupiedError<'a, K: 'a, V: 'a, A: Allocator + Clone = Global> {\n     pub entry: OccupiedEntry<'a, K, V, A>,\n     pub value: V,\n }
    \ud83d\udd2cThis is a nightly-only experimental API. (map_try_insert #82766)
    Expand description

    The error returned by try_insert when the key already exists.

    \n

    Contains the occupied entry, and the value that was not inserted.

    \n

    Fields\u00a7

    \u00a7entry: OccupiedEntry<'a, K, V, A>
    \ud83d\udd2cThis is a nightly-only experimental API. (map_try_insert #82766)

    The entry in the map that was already occupied.

    \n
    \u00a7value: V
    \ud83d\udd2cThis is a nightly-only experimental API. (map_try_insert #82766)

    The value which was not inserted, because the entry was already occupied.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for OccupiedError<'_, K, V, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, K: Debug + Ord, V: Debug, A: Allocator + Clone> Display for OccupiedError<'a, K, V, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, K: Debug + Ord, V: Debug> Error for OccupiedError<'a, K, V>

    source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    1.30.0 \u00b7 source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 \u00b7 source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V, A> Freeze for OccupiedError<'a, K, V, A>
    where\n- A: Freeze,\n- V: Freeze,

    \u00a7

    impl<'a, K, V, A> RefUnwindSafe for OccupiedError<'a, K, V, A>
    where\n- A: RefUnwindSafe,\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V, A> Send for OccupiedError<'a, K, V, A>
    where\n- A: Send,\n- K: Send,\n- V: Send,

    \u00a7

    impl<'a, K, V, A> Sync for OccupiedError<'a, K, V, A>
    where\n- A: Sync,\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<'a, K, V, A> Unpin for OccupiedError<'a, K, V, A>
    where\n- A: Unpin,\n- V: Unpin,

    \u00a7

    impl<'a, K, V, A = Global> !UnwindSafe for OccupiedError<'a, K, V, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for OccupiedError<'_, K, V, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, K: Debug + Ord, V: Debug, A: Allocator + Clone> Display for OccupiedError<'a, K, V, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, K: Debug + Ord, V: Debug> Error for OccupiedError<'a, K, V>

    source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    1.30.0 \u00b7 source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 \u00b7 source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V, A> Freeze for OccupiedError<'a, K, V, A>
    where\n+ A: Freeze,\n+ V: Freeze,

    \u00a7

    impl<'a, K, V, A> RefUnwindSafe for OccupiedError<'a, K, V, A>
    where\n+ A: RefUnwindSafe,\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V, A> Send for OccupiedError<'a, K, V, A>
    where\n+ A: Send,\n+ K: Send,\n+ V: Send,

    \u00a7

    impl<'a, K, V, A> Sync for OccupiedError<'a, K, V, A>
    where\n+ A: Sync,\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<'a, K, V, A> Unpin for OccupiedError<'a, K, V, A>
    where\n+ A: Unpin,\n+ V: Unpin,

    \u00a7

    impl<'a, K, V, A = Global> !UnwindSafe for OccupiedError<'a, K, V, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToString for T
    where\n- T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Display + ?Sized,
    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.Range.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.Range.html", "unified_diff": "@@ -1,223 +1,223 @@\n Range in alloc::collections::btree_map - Rust
    \n

    Struct alloc::collections::btree_map::Range

    1.17.0 \u00b7 source \u00b7
    pub struct Range<'a, K: 'a, V: 'a> { /* private fields */ }
    Expand description

    An iterator over a sub-range of entries in a BTreeMap.

    \n

    This struct is created by the range method on BTreeMap. See its\n documentation for more.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<K, V> Clone for Range<'_, K, V>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<K: Debug, V: Debug> Debug for Range<'_, K, V>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<K, V> Default for Range<'_, K, V>

    source\u00a7

    fn default() -> Self

    Creates an empty btree_map::Range.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<K, V> Clone for Range<'_, K, V>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<K: Debug, V: Debug> Debug for Range<'_, K, V>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<K, V> Default for Range<'_, K, V>

    source\u00a7

    fn default() -> Self

    Creates an empty btree_map::Range.

    \n \n
    let iter: btree_map::Range<'_, u8, u8> = Default::default();\n assert_eq!(iter.count(), 0);
    Run
    \n-
    source\u00a7

    impl<'a, K, V> DoubleEndedIterator for Range<'a, K, V>

    source\u00a7

    fn next_back(&mut self) -> Option<(&'a K, &'a V)>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, K, V> Iterator for Range<'a, K, V>

    \u00a7

    type Item = (&'a K, &'a V)

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<(&'a K, &'a V)>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn last(self) -> Option<(&'a K, &'a V)>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn min(self) -> Option<(&'a K, &'a V)>
    where\n- (&'a K, &'a V): Ord,

    Returns the minimum element of an iterator. Read more
    source\u00a7

    fn max(self) -> Option<(&'a K, &'a V)>
    where\n- (&'a K, &'a V): Ord,

    Returns the maximum element of an iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    source\u00a7

    impl<'a, K, V> DoubleEndedIterator for Range<'a, K, V>

    source\u00a7

    fn next_back(&mut self) -> Option<(&'a K, &'a V)>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, K, V> Iterator for Range<'a, K, V>

    \u00a7

    type Item = (&'a K, &'a V)

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<(&'a K, &'a V)>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn last(self) -> Option<(&'a K, &'a V)>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn min(self) -> Option<(&'a K, &'a V)>
    where\n+ (&'a K, &'a V): Ord,

    Returns the minimum element of an iterator. Read more
    source\u00a7

    fn max(self) -> Option<(&'a K, &'a V)>
    where\n+ (&'a K, &'a V): Ord,

    Returns the maximum element of an iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<K, V> FusedIterator for Range<'_, K, V>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V> Freeze for Range<'a, K, V>

    \u00a7

    impl<'a, K, V> RefUnwindSafe for Range<'a, K, V>
    where\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V> Send for Range<'a, K, V>
    where\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<'a, K, V> Sync for Range<'a, K, V>
    where\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<'a, K, V> Unpin for Range<'a, K, V>

    \u00a7

    impl<'a, K, V> UnwindSafe for Range<'a, K, V>
    where\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<K, V> FusedIterator for Range<'_, K, V>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V> Freeze for Range<'a, K, V>

    \u00a7

    impl<'a, K, V> RefUnwindSafe for Range<'a, K, V>
    where\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V> Send for Range<'a, K, V>
    where\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<'a, K, V> Sync for Range<'a, K, V>
    where\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<'a, K, V> Unpin for Range<'a, K, V>

    \u00a7

    impl<'a, K, V> UnwindSafe for Range<'a, K, V>
    where\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.RangeMut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.RangeMut.html", "unified_diff": "@@ -1,215 +1,215 @@\n RangeMut in alloc::collections::btree_map - Rust
    \n

    Struct alloc::collections::btree_map::RangeMut

    1.17.0 \u00b7 source \u00b7
    pub struct RangeMut<'a, K: 'a, V: 'a> { /* private fields */ }
    Expand description

    A mutable iterator over a sub-range of entries in a BTreeMap.

    \n

    This struct is created by the range_mut method on BTreeMap. See its\n documentation for more.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<K: Debug, V: Debug> Debug for RangeMut<'_, K, V>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, K, V> DoubleEndedIterator for RangeMut<'a, K, V>

    source\u00a7

    fn next_back(&mut self) -> Option<(&'a K, &'a mut V)>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, K, V> Iterator for RangeMut<'a, K, V>

    \u00a7

    type Item = (&'a K, &'a mut V)

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<(&'a K, &'a mut V)>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn last(self) -> Option<(&'a K, &'a mut V)>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn min(self) -> Option<(&'a K, &'a mut V)>
    where\n- (&'a K, &'a mut V): Ord,

    Returns the minimum element of an iterator. Read more
    source\u00a7

    fn max(self) -> Option<(&'a K, &'a mut V)>
    where\n- (&'a K, &'a mut V): Ord,

    Returns the maximum element of an iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<K: Debug, V: Debug> Debug for RangeMut<'_, K, V>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, K, V> DoubleEndedIterator for RangeMut<'a, K, V>

    source\u00a7

    fn next_back(&mut self) -> Option<(&'a K, &'a mut V)>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, K, V> Iterator for RangeMut<'a, K, V>

    \u00a7

    type Item = (&'a K, &'a mut V)

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<(&'a K, &'a mut V)>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn last(self) -> Option<(&'a K, &'a mut V)>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn min(self) -> Option<(&'a K, &'a mut V)>
    where\n+ (&'a K, &'a mut V): Ord,

    Returns the minimum element of an iterator. Read more
    source\u00a7

    fn max(self) -> Option<(&'a K, &'a mut V)>
    where\n+ (&'a K, &'a mut V): Ord,

    Returns the maximum element of an iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<K, V> FusedIterator for RangeMut<'_, K, V>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V> Freeze for RangeMut<'a, K, V>

    \u00a7

    impl<'a, K, V> RefUnwindSafe for RangeMut<'a, K, V>
    where\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V> Send for RangeMut<'a, K, V>
    where\n- K: Send,\n- V: Send,

    \u00a7

    impl<'a, K, V> Sync for RangeMut<'a, K, V>
    where\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<'a, K, V> Unpin for RangeMut<'a, K, V>

    \u00a7

    impl<'a, K, V> !UnwindSafe for RangeMut<'a, K, V>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<K, V> FusedIterator for RangeMut<'_, K, V>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V> Freeze for RangeMut<'a, K, V>

    \u00a7

    impl<'a, K, V> RefUnwindSafe for RangeMut<'a, K, V>
    where\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V> Send for RangeMut<'a, K, V>
    where\n+ K: Send,\n+ V: Send,

    \u00a7

    impl<'a, K, V> Sync for RangeMut<'a, K, V>
    where\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<'a, K, V> Unpin for RangeMut<'a, K, V>

    \u00a7

    impl<'a, K, V> !UnwindSafe for RangeMut<'a, K, V>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.UnorderedKeyError.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.UnorderedKeyError.html", "unified_diff": "@@ -1,19 +1,19 @@\n UnorderedKeyError in alloc::collections::btree_map - Rust
    \n
    pub struct UnorderedKeyError {}
    \ud83d\udd2cThis is a nightly-only experimental API. (btree_cursors #107540)
    Expand description

    Error type returned by CursorMut::insert_before and\n CursorMut::insert_after if the key being inserted is not properly\n ordered with regards to adjacent keys.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl Clone for UnorderedKeyError

    source\u00a7

    fn clone(&self) -> UnorderedKeyError

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for UnorderedKeyError

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Display for UnorderedKeyError

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Error for UnorderedKeyError

    1.30.0 \u00b7 source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 \u00b7 source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 \u00b7 source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more
    source\u00a7

    impl PartialEq for UnorderedKeyError

    source\u00a7

    fn eq(&self, other: &UnorderedKeyError) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl Eq for UnorderedKeyError

    source\u00a7

    impl StructuralPartialEq for UnorderedKeyError

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl Clone for UnorderedKeyError

    source\u00a7

    fn clone(&self) -> UnorderedKeyError

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for UnorderedKeyError

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Display for UnorderedKeyError

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Error for UnorderedKeyError

    1.30.0 \u00b7 source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 \u00b7 source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 \u00b7 source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more
    source\u00a7

    impl PartialEq for UnorderedKeyError

    source\u00a7

    fn eq(&self, other: &UnorderedKeyError) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl Eq for UnorderedKeyError

    source\u00a7

    impl StructuralPartialEq for UnorderedKeyError

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n- T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n+ T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.VacantEntry.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.VacantEntry.html", "unified_diff": "@@ -1,11 +1,11 @@\n VacantEntry in alloc::collections::btree_map - Rust
    \n-

    Struct alloc::collections::btree_map::VacantEntry

    1.0.0 \u00b7 source \u00b7
    pub struct VacantEntry<'a, K, V, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    A view into a vacant entry in a BTreeMap.\n+

    Struct alloc::collections::btree_map::VacantEntry

    1.0.0 \u00b7 source \u00b7
    pub struct VacantEntry<'a, K, V, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    A view into a vacant entry in a BTreeMap.\n It is part of the Entry enum.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, K: Ord, V, A: Allocator + Clone> VacantEntry<'a, K, V, A>

    1.10.0 \u00b7 source

    pub fn key(&self) -> &K

    Gets a reference to the key that would be used when inserting a value\n+

    Implementations\u00a7

    source\u00a7

    impl<'a, K: Ord, V, A: Allocator + Clone> VacantEntry<'a, K, V, A>

    1.10.0 \u00b7 source

    pub fn key(&self) -> &K

    Gets a reference to the key that would be used when inserting a value\n through the VacantEntry.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n \n let mut map: BTreeMap<&str, usize> = BTreeMap::new();\n assert_eq!(map.entry(\"poneyland\").key(), &\"poneyland\");
    Run
    \n
    1.12.0 \u00b7 source

    pub fn into_key(self) -> K

    Take ownership of the key.

    \n@@ -14,43 +14,43 @@\n use std::collections::btree_map::Entry;\n \n let mut map: BTreeMap<&str, usize> = BTreeMap::new();\n \n if let Entry::Vacant(v) = map.entry(\"poneyland\") {\n v.into_key();\n }Run
    \n-
    source

    pub fn insert(self, value: V) -> &'a mut V

    Sets the value of the entry with the VacantEntry\u2019s key,\n+

    source

    pub fn insert(self, value: V) -> &'a mut V

    Sets the value of the entry with the VacantEntry\u2019s key,\n and returns a mutable reference to it.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeMap;\n use std::collections::btree_map::Entry;\n \n let mut map: BTreeMap<&str, u32> = BTreeMap::new();\n \n if let Entry::Vacant(o) = map.entry(\"poneyland\") {\n     o.insert(37);\n }\n assert_eq!(map[\"poneyland\"], 37);
    Run
    \n-

    Trait Implementations\u00a7

    1.12.0 \u00b7 source\u00a7

    impl<K: Debug + Ord, V, A: Allocator + Clone> Debug for VacantEntry<'_, K, V, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V, A> Freeze for VacantEntry<'a, K, V, A>
    where\n- A: Freeze,\n- K: Freeze,

    \u00a7

    impl<'a, K, V, A> RefUnwindSafe for VacantEntry<'a, K, V, A>
    where\n- A: RefUnwindSafe,\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V, A> Send for VacantEntry<'a, K, V, A>
    where\n- A: Send,\n- K: Send,\n- V: Send,

    \u00a7

    impl<'a, K, V, A> Sync for VacantEntry<'a, K, V, A>
    where\n- A: Sync,\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<'a, K, V, A> Unpin for VacantEntry<'a, K, V, A>
    where\n- A: Unpin,\n- K: Unpin,

    \u00a7

    impl<'a, K, V, A = Global> !UnwindSafe for VacantEntry<'a, K, V, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    1.12.0 \u00b7 source\u00a7

    impl<K: Debug + Ord, V, A: Allocator + Clone> Debug for VacantEntry<'_, K, V, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V, A> Freeze for VacantEntry<'a, K, V, A>
    where\n+ A: Freeze,\n+ K: Freeze,

    \u00a7

    impl<'a, K, V, A> RefUnwindSafe for VacantEntry<'a, K, V, A>
    where\n+ A: RefUnwindSafe,\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V, A> Send for VacantEntry<'a, K, V, A>
    where\n+ A: Send,\n+ K: Send,\n+ V: Send,

    \u00a7

    impl<'a, K, V, A> Sync for VacantEntry<'a, K, V, A>
    where\n+ A: Sync,\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<'a, K, V, A> Unpin for VacantEntry<'a, K, V, A>
    where\n+ A: Unpin,\n+ K: Unpin,

    \u00a7

    impl<'a, K, V, A = Global> !UnwindSafe for VacantEntry<'a, K, V, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.Values.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.Values.html", "unified_diff": "@@ -1,224 +1,224 @@\n Values in alloc::collections::btree_map - Rust
    \n

    Struct alloc::collections::btree_map::Values

    1.0.0 \u00b7 source \u00b7
    pub struct Values<'a, K, V> { /* private fields */ }
    Expand description

    An iterator over the values of a BTreeMap.

    \n

    This struct is created by the values method on BTreeMap. See its\n documentation for more.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<K, V> Clone for Values<'_, K, V>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<K, V: Debug> Debug for Values<'_, K, V>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<K, V> Default for Values<'_, K, V>

    source\u00a7

    fn default() -> Self

    Creates an empty btree_map::Values.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<K, V> Clone for Values<'_, K, V>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<K, V: Debug> Debug for Values<'_, K, V>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<K, V> Default for Values<'_, K, V>

    source\u00a7

    fn default() -> Self

    Creates an empty btree_map::Values.

    \n \n
    let iter: btree_map::Values<'_, u8, u8> = Default::default();\n assert_eq!(iter.len(), 0);
    Run
    \n-
    source\u00a7

    impl<'a, K, V> DoubleEndedIterator for Values<'a, K, V>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a V>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<K, V> ExactSizeIterator for Values<'_, K, V>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, K, V> Iterator for Values<'a, K, V>

    \u00a7

    type Item = &'a V

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a V>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<&'a V>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    source\u00a7

    impl<'a, K, V> DoubleEndedIterator for Values<'a, K, V>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a V>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<K, V> ExactSizeIterator for Values<'_, K, V>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, K, V> Iterator for Values<'a, K, V>

    \u00a7

    type Item = &'a V

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a V>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<&'a V>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<K, V> FusedIterator for Values<'_, K, V>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V> Freeze for Values<'a, K, V>

    \u00a7

    impl<'a, K, V> RefUnwindSafe for Values<'a, K, V>
    where\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V> Send for Values<'a, K, V>
    where\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<'a, K, V> Sync for Values<'a, K, V>
    where\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<'a, K, V> Unpin for Values<'a, K, V>

    \u00a7

    impl<'a, K, V> UnwindSafe for Values<'a, K, V>
    where\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<K, V> FusedIterator for Values<'_, K, V>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V> Freeze for Values<'a, K, V>

    \u00a7

    impl<'a, K, V> RefUnwindSafe for Values<'a, K, V>
    where\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V> Send for Values<'a, K, V>
    where\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<'a, K, V> Sync for Values<'a, K, V>
    where\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<'a, K, V> Unpin for Values<'a, K, V>

    \u00a7

    impl<'a, K, V> UnwindSafe for Values<'a, K, V>
    where\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.ValuesMut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_map/struct.ValuesMut.html", "unified_diff": "@@ -1,216 +1,216 @@\n ValuesMut in alloc::collections::btree_map - Rust
    \n

    Struct alloc::collections::btree_map::ValuesMut

    1.10.0 \u00b7 source \u00b7
    pub struct ValuesMut<'a, K, V> { /* private fields */ }
    Expand description

    A mutable iterator over the values of a BTreeMap.

    \n

    This struct is created by the values_mut method on BTreeMap. See its\n documentation for more.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<K, V: Debug> Debug for ValuesMut<'_, K, V>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, K, V> DoubleEndedIterator for ValuesMut<'a, K, V>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a mut V>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<K, V> ExactSizeIterator for ValuesMut<'_, K, V>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, K, V> Iterator for ValuesMut<'a, K, V>

    \u00a7

    type Item = &'a mut V

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut V>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<&'a mut V>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<K, V: Debug> Debug for ValuesMut<'_, K, V>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, K, V> DoubleEndedIterator for ValuesMut<'a, K, V>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a mut V>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<K, V> ExactSizeIterator for ValuesMut<'_, K, V>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, K, V> Iterator for ValuesMut<'a, K, V>

    \u00a7

    type Item = &'a mut V

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut V>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<&'a mut V>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<K, V> FusedIterator for ValuesMut<'_, K, V>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V> Freeze for ValuesMut<'a, K, V>

    \u00a7

    impl<'a, K, V> RefUnwindSafe for ValuesMut<'a, K, V>
    where\n- K: RefUnwindSafe,\n- V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V> Send for ValuesMut<'a, K, V>
    where\n- K: Send,\n- V: Send,

    \u00a7

    impl<'a, K, V> Sync for ValuesMut<'a, K, V>
    where\n- K: Sync,\n- V: Sync,

    \u00a7

    impl<'a, K, V> Unpin for ValuesMut<'a, K, V>

    \u00a7

    impl<'a, K, V> !UnwindSafe for ValuesMut<'a, K, V>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<K, V> FusedIterator for ValuesMut<'_, K, V>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, K, V> Freeze for ValuesMut<'a, K, V>

    \u00a7

    impl<'a, K, V> RefUnwindSafe for ValuesMut<'a, K, V>
    where\n+ K: RefUnwindSafe,\n+ V: RefUnwindSafe,

    \u00a7

    impl<'a, K, V> Send for ValuesMut<'a, K, V>
    where\n+ K: Send,\n+ V: Send,

    \u00a7

    impl<'a, K, V> Sync for ValuesMut<'a, K, V>
    where\n+ K: Sync,\n+ V: Sync,

    \u00a7

    impl<'a, K, V> Unpin for ValuesMut<'a, K, V>

    \u00a7

    impl<'a, K, V> !UnwindSafe for ValuesMut<'a, K, V>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.BTreeSet.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.BTreeSet.html", "unified_diff": "@@ -1,14 +1,14 @@\n BTreeSet in alloc::collections::btree_set - Rust
    \n-

    Struct alloc::collections::btree_set::BTreeSet

    1.0.0 \u00b7 source \u00b7
    pub struct BTreeSet<T, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    An ordered set based on a B-Tree.

    \n+

    Struct alloc::collections::btree_set::BTreeSet

    1.0.0 \u00b7 source \u00b7
    pub struct BTreeSet<T, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    An ordered set based on a B-Tree.

    \n

    See BTreeMap\u2019s documentation for a detailed discussion of this collection\u2019s performance\n benefits and drawbacks.

    \n

    It is a logic error for an item to be modified in such a way that the item\u2019s ordering relative\n-to any other item, as determined by the Ord trait, changes while it is in the set. This is\n-normally only possible through Cell, RefCell, global state, I/O, or unsafe code.\n+to any other item, as determined by the Ord trait, changes while it is in the set. This is\n+normally only possible through Cell, RefCell, global state, I/O, or unsafe code.\n The behavior resulting from such a logic error is not specified, but will be encapsulated to the\n BTreeSet that observed the logic error and not result in undefined behavior. This could\n include panics, incorrect results, aborts, memory leaks, and non-termination.

    \n

    Iterators returned by BTreeSet::iter produce their items in order, and take worst-case\n logarithmic and amortized constant time per item returned.

    \n

    \u00a7Examples

    \n
    use std::collections::BTreeSet;\n@@ -43,24 +43,24 @@\n let set = BTreeSet::from([1, 2, 3]);
    Run
    \n

    Implementations\u00a7

    source\u00a7

    impl<T> BTreeSet<T>

    const: 1.66.0 \u00b7 source

    pub const fn new() -> BTreeSet<T>

    Makes a new, empty BTreeSet.

    \n

    Does not allocate anything on its own.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let mut set: BTreeSet<i32> = BTreeSet::new();
    Run
    \n-
    source\u00a7

    impl<T, A: Allocator + Clone> BTreeSet<T, A>

    source

    pub const fn new_in(alloc: A) -> BTreeSet<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (btreemap_alloc #32838)

    Makes a new BTreeSet with a reasonable choice of B.

    \n+
    source\u00a7

    impl<T, A: Allocator + Clone> BTreeSet<T, A>

    source

    pub const fn new_in(alloc: A) -> BTreeSet<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (btreemap_alloc #32838)

    Makes a new BTreeSet with a reasonable choice of B.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n use std::alloc::Global;\n \n let mut set: BTreeSet<i32> = BTreeSet::new_in(Global);
    Run
    \n
    1.17.0 \u00b7 source

    pub fn range<K, R>(&self, range: R) -> Range<'_, T> \u24d8
    where\n- K: Ord + ?Sized,\n- T: Borrow<K> + Ord,\n- R: RangeBounds<K>,

    Constructs a double-ended iterator over a sub-range of elements in the set.\n+ K: Ord + ?Sized,\n+ T: Borrow<K> + Ord,\n+ R: RangeBounds<K>,

    Constructs a double-ended iterator over a sub-range of elements in the set.\n The simplest way is to use the range syntax min..max, thus range(min..max) will\n yield elements from min (inclusive) to max (exclusive).\n The range may also be entered as (Bound<T>, Bound<T>), so for example\n range((Excluded(4), Included(10))) will yield a left-exclusive, right-inclusive\n range from 4 to 10.

    \n
    \u00a7Panics
    \n

    Panics if range start > end.\n@@ -77,15 +77,15 @@\n println!(\"{elem}\");\n }\n assert_eq!(Some(&5), set.range(4..).next());Run

    \n
    source

    pub fn difference<'a>(\n &'a self,\n other: &'a BTreeSet<T, A>\n ) -> Difference<'a, T, A> \u24d8
    where\n- T: Ord,

    Visits the elements representing the difference,\n+ T: Ord,

    Visits the elements representing the difference,\n i.e., the elements that are in self but not in other,\n in ascending order.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let mut a = BTreeSet::new();\n a.insert(1);\n@@ -97,15 +97,15 @@\n \n let diff: Vec<_> = a.difference(&b).cloned().collect();\n assert_eq!(diff, [1]);
    Run
    \n
    source

    pub fn symmetric_difference<'a>(\n &'a self,\n other: &'a BTreeSet<T, A>\n ) -> SymmetricDifference<'a, T> \u24d8
    where\n- T: Ord,

    Visits the elements representing the symmetric difference,\n+ T: Ord,

    Visits the elements representing the symmetric difference,\n i.e., the elements that are in self or in other but not in both,\n in ascending order.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let mut a = BTreeSet::new();\n a.insert(1);\n@@ -117,15 +117,15 @@\n \n let sym_diff: Vec<_> = a.symmetric_difference(&b).cloned().collect();\n assert_eq!(sym_diff, [1, 3]);
    Run
    \n
    source

    pub fn intersection<'a>(\n &'a self,\n other: &'a BTreeSet<T, A>\n ) -> Intersection<'a, T, A> \u24d8
    where\n- T: Ord,

    Visits the elements representing the intersection,\n+ T: Ord,

    Visits the elements representing the intersection,\n i.e., the elements that are both in self and other,\n in ascending order.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let mut a = BTreeSet::new();\n a.insert(1);\n@@ -134,92 +134,92 @@\n let mut b = BTreeSet::new();\n b.insert(2);\n b.insert(3);\n \n let intersection: Vec<_> = a.intersection(&b).cloned().collect();\n assert_eq!(intersection, [2]);
    Run
    \n
    source

    pub fn union<'a>(&'a self, other: &'a BTreeSet<T, A>) -> Union<'a, T> \u24d8
    where\n- T: Ord,

    Visits the elements representing the union,\n+ T: Ord,

    Visits the elements representing the union,\n i.e., all the elements in self or other, without duplicates,\n in ascending order.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let mut a = BTreeSet::new();\n a.insert(1);\n \n let mut b = BTreeSet::new();\n b.insert(2);\n \n let union: Vec<_> = a.union(&b).cloned().collect();\n assert_eq!(union, [1, 2]);
    Run
    \n
    source

    pub fn clear(&mut self)
    where\n- A: Clone,

    Clears the set, removing all elements.

    \n+ A: Clone,

    Clears the set, removing all elements.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let mut v = BTreeSet::new();\n v.insert(1);\n v.clear();\n assert!(v.is_empty());
    Run
    \n-
    source

    pub fn contains<Q>(&self, value: &Q) -> bool
    where\n- T: Borrow<Q> + Ord,\n- Q: Ord + ?Sized,

    Returns true if the set contains an element equal to the value.

    \n+
    source

    pub fn contains<Q>(&self, value: &Q) -> bool
    where\n+ T: Borrow<Q> + Ord,\n+ Q: Ord + ?Sized,

    Returns true if the set contains an element equal to the value.

    \n

    The value may be any borrowed form of the set\u2019s element type,\n but the ordering on the borrowed form must match the\n ordering on the element type.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let set = BTreeSet::from([1, 2, 3]);\n assert_eq!(set.contains(&1), true);\n assert_eq!(set.contains(&4), false);
    Run
    \n-
    1.9.0 \u00b7 source

    pub fn get<Q>(&self, value: &Q) -> Option<&T>
    where\n- T: Borrow<Q> + Ord,\n- Q: Ord + ?Sized,

    Returns a reference to the element in the set, if any, that is equal to\n+

    1.9.0 \u00b7 source

    pub fn get<Q>(&self, value: &Q) -> Option<&T>
    where\n+ T: Borrow<Q> + Ord,\n+ Q: Ord + ?Sized,

    Returns a reference to the element in the set, if any, that is equal to\n the value.

    \n

    The value may be any borrowed form of the set\u2019s element type,\n but the ordering on the borrowed form must match the\n ordering on the element type.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let set = BTreeSet::from([1, 2, 3]);\n assert_eq!(set.get(&2), Some(&2));\n assert_eq!(set.get(&4), None);
    Run
    \n-
    source

    pub fn is_disjoint(&self, other: &BTreeSet<T, A>) -> bool
    where\n- T: Ord,

    Returns true if self has no elements in common with other.\n+

    source

    pub fn is_disjoint(&self, other: &BTreeSet<T, A>) -> bool
    where\n+ T: Ord,

    Returns true if self has no elements in common with other.\n This is equivalent to checking for an empty intersection.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let a = BTreeSet::from([1, 2, 3]);\n let mut b = BTreeSet::new();\n \n assert_eq!(a.is_disjoint(&b), true);\n b.insert(4);\n assert_eq!(a.is_disjoint(&b), true);\n b.insert(1);\n assert_eq!(a.is_disjoint(&b), false);
    Run
    \n-
    source

    pub fn is_subset(&self, other: &BTreeSet<T, A>) -> bool
    where\n- T: Ord,

    Returns true if the set is a subset of another,\n+

    source

    pub fn is_subset(&self, other: &BTreeSet<T, A>) -> bool
    where\n+ T: Ord,

    Returns true if the set is a subset of another,\n i.e., other contains at least all the elements in self.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let sup = BTreeSet::from([1, 2, 3]);\n let mut set = BTreeSet::new();\n \n assert_eq!(set.is_subset(&sup), true);\n set.insert(2);\n assert_eq!(set.is_subset(&sup), true);\n set.insert(4);\n assert_eq!(set.is_subset(&sup), false);
    Run
    \n-
    source

    pub fn is_superset(&self, other: &BTreeSet<T, A>) -> bool
    where\n- T: Ord,

    Returns true if the set is a superset of another,\n+

    source

    pub fn is_superset(&self, other: &BTreeSet<T, A>) -> bool
    where\n+ T: Ord,

    Returns true if the set is a superset of another,\n i.e., self contains at least all the elements in other.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let sub = BTreeSet::from([1, 2]);\n let mut set = BTreeSet::new();\n \n@@ -227,70 +227,70 @@\n \n set.insert(0);\n set.insert(1);\n assert_eq!(set.is_superset(&sub), false);\n \n set.insert(2);\n assert_eq!(set.is_superset(&sub), true);
    Run
    \n-
    1.66.0 \u00b7 source

    pub fn first(&self) -> Option<&T>
    where\n- T: Ord,

    Returns a reference to the first element in the set, if any.\n+

    1.66.0 \u00b7 source

    pub fn first(&self) -> Option<&T>
    where\n+ T: Ord,

    Returns a reference to the first element in the set, if any.\n This element is always the minimum of all elements in the set.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    use std::collections::BTreeSet;\n \n let mut set = BTreeSet::new();\n assert_eq!(set.first(), None);\n set.insert(1);\n assert_eq!(set.first(), Some(&1));\n set.insert(2);\n assert_eq!(set.first(), Some(&1));
    Run
    \n-
    1.66.0 \u00b7 source

    pub fn last(&self) -> Option<&T>
    where\n- T: Ord,

    Returns a reference to the last element in the set, if any.\n+

    1.66.0 \u00b7 source

    pub fn last(&self) -> Option<&T>
    where\n+ T: Ord,

    Returns a reference to the last element in the set, if any.\n This element is always the maximum of all elements in the set.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    use std::collections::BTreeSet;\n \n let mut set = BTreeSet::new();\n assert_eq!(set.last(), None);\n set.insert(1);\n assert_eq!(set.last(), Some(&1));\n set.insert(2);\n assert_eq!(set.last(), Some(&2));
    Run
    \n-
    1.66.0 \u00b7 source

    pub fn pop_first(&mut self) -> Option<T>
    where\n- T: Ord,

    Removes the first element from the set and returns it, if any.\n+

    1.66.0 \u00b7 source

    pub fn pop_first(&mut self) -> Option<T>
    where\n+ T: Ord,

    Removes the first element from the set and returns it, if any.\n The first element is always the minimum element in the set.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let mut set = BTreeSet::new();\n \n set.insert(1);\n while let Some(n) = set.pop_first() {\n     assert_eq!(n, 1);\n }\n assert!(set.is_empty());
    Run
    \n-
    1.66.0 \u00b7 source

    pub fn pop_last(&mut self) -> Option<T>
    where\n- T: Ord,

    Removes the last element from the set and returns it, if any.\n+

    1.66.0 \u00b7 source

    pub fn pop_last(&mut self) -> Option<T>
    where\n+ T: Ord,

    Removes the last element from the set and returns it, if any.\n The last element is always the maximum element in the set.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let mut set = BTreeSet::new();\n \n set.insert(1);\n while let Some(n) = set.pop_last() {\n     assert_eq!(n, 1);\n }\n assert!(set.is_empty());
    Run
    \n-
    source

    pub fn insert(&mut self, value: T) -> bool
    where\n- T: Ord,

    Adds a value to the set.

    \n+
    source

    pub fn insert(&mut self, value: T) -> bool
    where\n+ T: Ord,

    Adds a value to the set.

    \n

    Returns whether the value was newly inserted. That is:

    \n
      \n
    • If the set did not previously contain an equal value, true is\n returned.
    • \n
    • If the set already contained an equal value, false is returned, and\n the entry is not updated.
    • \n
    \n@@ -299,69 +299,69 @@\n
    use std::collections::BTreeSet;\n \n let mut set = BTreeSet::new();\n \n assert_eq!(set.insert(2), true);\n assert_eq!(set.insert(2), false);\n assert_eq!(set.len(), 1);
    Run
    \n-
    1.9.0 \u00b7 source

    pub fn replace(&mut self, value: T) -> Option<T>
    where\n- T: Ord,

    Adds a value to the set, replacing the existing element, if any, that is\n+

    1.9.0 \u00b7 source

    pub fn replace(&mut self, value: T) -> Option<T>
    where\n+ T: Ord,

    Adds a value to the set, replacing the existing element, if any, that is\n equal to the value. Returns the replaced element.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let mut set = BTreeSet::new();\n set.insert(Vec::<i32>::new());\n \n assert_eq!(set.get(&[][..]).unwrap().capacity(), 0);\n set.replace(Vec::with_capacity(10));\n assert_eq!(set.get(&[][..]).unwrap().capacity(), 10);
    Run
    \n-
    source

    pub fn remove<Q>(&mut self, value: &Q) -> bool
    where\n- T: Borrow<Q> + Ord,\n- Q: Ord + ?Sized,

    If the set contains an element equal to the value, removes it from the\n+

    source

    pub fn remove<Q>(&mut self, value: &Q) -> bool
    where\n+ T: Borrow<Q> + Ord,\n+ Q: Ord + ?Sized,

    If the set contains an element equal to the value, removes it from the\n set and drops it. Returns whether such an element was present.

    \n

    The value may be any borrowed form of the set\u2019s element type,\n but the ordering on the borrowed form must match the\n ordering on the element type.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let mut set = BTreeSet::new();\n \n set.insert(2);\n assert_eq!(set.remove(&2), true);\n assert_eq!(set.remove(&2), false);
    Run
    \n-
    1.9.0 \u00b7 source

    pub fn take<Q>(&mut self, value: &Q) -> Option<T>
    where\n- T: Borrow<Q> + Ord,\n- Q: Ord + ?Sized,

    Removes and returns the element in the set, if any, that is equal to\n+

    1.9.0 \u00b7 source

    pub fn take<Q>(&mut self, value: &Q) -> Option<T>
    where\n+ T: Borrow<Q> + Ord,\n+ Q: Ord + ?Sized,

    Removes and returns the element in the set, if any, that is equal to\n the value.

    \n

    The value may be any borrowed form of the set\u2019s element type,\n but the ordering on the borrowed form must match the\n ordering on the element type.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let mut set = BTreeSet::from([1, 2, 3]);\n assert_eq!(set.take(&2), Some(2));\n assert_eq!(set.take(&2), None);
    Run
    \n
    1.53.0 \u00b7 source

    pub fn retain<F>(&mut self, f: F)
    where\n- T: Ord,\n- F: FnMut(&T) -> bool,

    Retains only the elements specified by the predicate.

    \n+ T: Ord,\n+ F: FnMut(&T) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all elements e for which f(&e) returns false.\n The elements are visited in ascending order.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let mut set = BTreeSet::from([1, 2, 3, 4, 5, 6]);\n // Keep only the even numbers.\n set.retain(|&k| k % 2 == 0);\n assert!(set.iter().eq([2, 4, 6].iter()));
    Run
    \n-
    1.11.0 \u00b7 source

    pub fn append(&mut self, other: &mut Self)
    where\n- T: Ord,\n- A: Clone,

    Moves all elements from other into self, leaving other empty.

    \n+
    1.11.0 \u00b7 source

    pub fn append(&mut self, other: &mut Self)
    where\n+ T: Ord,\n+ A: Clone,

    Moves all elements from other into self, leaving other empty.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let mut a = BTreeSet::new();\n a.insert(1);\n a.insert(2);\n a.insert(3);\n@@ -377,17 +377,17 @@\n assert_eq!(b.len(), 0);\n \n assert!(a.contains(&1));\n assert!(a.contains(&2));\n assert!(a.contains(&3));\n assert!(a.contains(&4));\n assert!(a.contains(&5));
    Run
    \n-
    1.11.0 \u00b7 source

    pub fn split_off<Q: ?Sized + Ord>(&mut self, value: &Q) -> Self
    where\n- T: Borrow<Q> + Ord,\n- A: Clone,

    Splits the collection into two at the value. Returns a new collection\n+

    1.11.0 \u00b7 source

    pub fn split_off<Q: ?Sized + Ord>(&mut self, value: &Q) -> Self
    where\n+ T: Borrow<Q> + Ord,\n+ A: Clone,

    Splits the collection into two at the value. Returns a new collection\n with all elements greater than or equal to the value.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    use std::collections::BTreeSet;\n \n let mut a = BTreeSet::new();\n@@ -405,16 +405,16 @@\n assert!(a.contains(&1));\n assert!(a.contains(&2));\n \n assert!(b.contains(&3));\n assert!(b.contains(&17));\n assert!(b.contains(&41));
    Run
    \n
    source

    pub fn extract_if<'a, F>(&'a mut self, pred: F) -> ExtractIf<'a, T, F, A> \u24d8
    where\n- T: Ord,\n- F: 'a + FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_extract_if #70530)

    Creates an iterator that visits all elements in ascending order and\n+ T: Ord,\n+ F: 'a + FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_extract_if #70530)

    Creates an iterator that visits all elements in ascending order and\n uses a closure to determine if an element should be removed.

    \n

    If the closure returns true, the element is removed from the set and\n yielded. If the closure returns false, or panics, the element remains\n in the set and will not be yielded.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\n or the iteration short-circuits, then the remaining elements will be retained.\n Use retain with a negated predicate if you do not need the returned iterator.

    \n@@ -436,106 +436,106 @@\n \n let set = BTreeSet::from([3, 1, 2]);\n let mut set_iter = set.iter();\n assert_eq!(set_iter.next(), Some(&1));\n assert_eq!(set_iter.next(), Some(&2));\n assert_eq!(set_iter.next(), Some(&3));\n assert_eq!(set_iter.next(), None);
    Run
    \n-
    const: unstable \u00b7 source

    pub fn len(&self) -> usize

    Returns the number of elements in the set.

    \n+
    const: unstable \u00b7 source

    pub fn len(&self) -> usize

    Returns the number of elements in the set.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let mut v = BTreeSet::new();\n assert_eq!(v.len(), 0);\n v.insert(1);\n assert_eq!(v.len(), 1);
    Run
    \n-
    const: unstable \u00b7 source

    pub fn is_empty(&self) -> bool

    Returns true if the set contains no elements.

    \n+
    const: unstable \u00b7 source

    pub fn is_empty(&self) -> bool

    Returns true if the set contains no elements.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let mut v = BTreeSet::new();\n assert!(v.is_empty());\n v.insert(1);\n assert!(!v.is_empty());
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T: Ord + Clone, A: Allocator + Clone> BitAnd<&BTreeSet<T, A>> for &BTreeSet<T, A>

    source\u00a7

    fn bitand(self, rhs: &BTreeSet<T, A>) -> BTreeSet<T, A>

    Returns the intersection of self and rhs as a new BTreeSet<T>.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T: Ord + Clone, A: Allocator + Clone> BitAnd<&BTreeSet<T, A>> for &BTreeSet<T, A>

    source\u00a7

    fn bitand(self, rhs: &BTreeSet<T, A>) -> BTreeSet<T, A>

    Returns the intersection of self and rhs as a new BTreeSet<T>.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let a = BTreeSet::from([1, 2, 3]);\n let b = BTreeSet::from([2, 3, 4]);\n \n let result = &a & &b;\n assert_eq!(result, BTreeSet::from([2, 3]));
    Run
    \n-
    \u00a7

    type Output = BTreeSet<T, A>

    The resulting type after applying the & operator.
    source\u00a7

    impl<T: Ord + Clone, A: Allocator + Clone> BitOr<&BTreeSet<T, A>> for &BTreeSet<T, A>

    source\u00a7

    fn bitor(self, rhs: &BTreeSet<T, A>) -> BTreeSet<T, A>

    Returns the union of self and rhs as a new BTreeSet<T>.

    \n+
    \u00a7

    type Output = BTreeSet<T, A>

    The resulting type after applying the & operator.
    source\u00a7

    impl<T: Ord + Clone, A: Allocator + Clone> BitOr<&BTreeSet<T, A>> for &BTreeSet<T, A>

    source\u00a7

    fn bitor(self, rhs: &BTreeSet<T, A>) -> BTreeSet<T, A>

    Returns the union of self and rhs as a new BTreeSet<T>.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let a = BTreeSet::from([1, 2, 3]);\n let b = BTreeSet::from([3, 4, 5]);\n \n let result = &a | &b;\n assert_eq!(result, BTreeSet::from([1, 2, 3, 4, 5]));
    Run
    \n-
    \u00a7

    type Output = BTreeSet<T, A>

    The resulting type after applying the | operator.
    source\u00a7

    impl<T: Ord + Clone, A: Allocator + Clone> BitXor<&BTreeSet<T, A>> for &BTreeSet<T, A>

    source\u00a7

    fn bitxor(self, rhs: &BTreeSet<T, A>) -> BTreeSet<T, A>

    Returns the symmetric difference of self and rhs as a new BTreeSet<T>.

    \n+
    \u00a7

    type Output = BTreeSet<T, A>

    The resulting type after applying the | operator.
    source\u00a7

    impl<T: Ord + Clone, A: Allocator + Clone> BitXor<&BTreeSet<T, A>> for &BTreeSet<T, A>

    source\u00a7

    fn bitxor(self, rhs: &BTreeSet<T, A>) -> BTreeSet<T, A>

    Returns the symmetric difference of self and rhs as a new BTreeSet<T>.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let a = BTreeSet::from([1, 2, 3]);\n let b = BTreeSet::from([2, 3, 4]);\n \n let result = &a ^ &b;\n assert_eq!(result, BTreeSet::from([1, 4]));
    Run
    \n-
    \u00a7

    type Output = BTreeSet<T, A>

    The resulting type after applying the ^ operator.
    source\u00a7

    impl<T: Clone, A: Allocator + Clone> Clone for BTreeSet<T, A>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, other: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<T: Debug, A: Allocator + Clone> Debug for BTreeSet<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T> Default for BTreeSet<T>

    source\u00a7

    fn default() -> BTreeSet<T>

    Creates an empty BTreeSet.

    \n-
    1.2.0 \u00b7 source\u00a7

    impl<'a, T: 'a + Ord + Copy, A: Allocator + Clone> Extend<&'a T> for BTreeSet<T, A>

    source\u00a7

    fn extend<I: IntoIterator<Item = &'a T>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, elem: &'a T)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    source\u00a7

    impl<T: Ord, A: Allocator + Clone> Extend<T> for BTreeSet<T, A>

    source\u00a7

    fn extend<Iter: IntoIterator<Item = T>>(&mut self, iter: Iter)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, elem: T)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    1.56.0 \u00b7 source\u00a7

    impl<T: Ord, const N: usize> From<[T; N]> for BTreeSet<T>

    source\u00a7

    fn from(arr: [T; N]) -> Self

    Converts a [T; N] into a BTreeSet<T>.

    \n+
    \u00a7

    type Output = BTreeSet<T, A>

    The resulting type after applying the ^ operator.
    source\u00a7

    impl<T: Clone, A: Allocator + Clone> Clone for BTreeSet<T, A>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, other: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<T: Debug, A: Allocator + Clone> Debug for BTreeSet<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T> Default for BTreeSet<T>

    source\u00a7

    fn default() -> BTreeSet<T>

    Creates an empty BTreeSet.

    \n+
    1.2.0 \u00b7 source\u00a7

    impl<'a, T: 'a + Ord + Copy, A: Allocator + Clone> Extend<&'a T> for BTreeSet<T, A>

    source\u00a7

    fn extend<I: IntoIterator<Item = &'a T>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, elem: &'a T)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    source\u00a7

    impl<T: Ord, A: Allocator + Clone> Extend<T> for BTreeSet<T, A>

    source\u00a7

    fn extend<Iter: IntoIterator<Item = T>>(&mut self, iter: Iter)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, elem: T)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    1.56.0 \u00b7 source\u00a7

    impl<T: Ord, const N: usize> From<[T; N]> for BTreeSet<T>

    source\u00a7

    fn from(arr: [T; N]) -> Self

    Converts a [T; N] into a BTreeSet<T>.

    \n \n
    use std::collections::BTreeSet;\n \n let set1 = BTreeSet::from([1, 2, 3, 4]);\n let set2: BTreeSet<_> = [1, 2, 3, 4].into();\n assert_eq!(set1, set2);
    Run
    \n-
    source\u00a7

    impl<T: Ord> FromIterator<T> for BTreeSet<T>

    source\u00a7

    fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> BTreeSet<T>

    Creates a value from an iterator. Read more
    source\u00a7

    impl<T: Hash, A: Allocator + Clone> Hash for BTreeSet<T, A>

    source\u00a7

    fn hash<H: Hasher>(&self, state: &mut H)

    Feeds this value into the given Hasher. Read more
    1.3.0 \u00b7 source\u00a7

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n- H: Hasher,\n- Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source\u00a7

    impl<'a, T, A: Allocator + Clone> IntoIterator for &'a BTreeSet<T, A>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = Iter<'a, T>

    Which kind of iterator are we turning this into?
    source\u00a7

    fn into_iter(self) -> Iter<'a, T> \u24d8

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, A: Allocator + Clone> IntoIterator for BTreeSet<T, A>

    source\u00a7

    fn into_iter(self) -> IntoIter<T, A> \u24d8

    Gets an iterator for moving out the BTreeSet\u2019s contents.

    \n+
    source\u00a7

    impl<T: Ord> FromIterator<T> for BTreeSet<T>

    source\u00a7

    fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> BTreeSet<T>

    Creates a value from an iterator. Read more
    source\u00a7

    impl<T: Hash, A: Allocator + Clone> Hash for BTreeSet<T, A>

    source\u00a7

    fn hash<H: Hasher>(&self, state: &mut H)

    Feeds this value into the given Hasher. Read more
    1.3.0 \u00b7 source\u00a7

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n+ H: Hasher,\n+ Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source\u00a7

    impl<'a, T, A: Allocator + Clone> IntoIterator for &'a BTreeSet<T, A>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = Iter<'a, T>

    Which kind of iterator are we turning this into?
    source\u00a7

    fn into_iter(self) -> Iter<'a, T> \u24d8

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, A: Allocator + Clone> IntoIterator for BTreeSet<T, A>

    source\u00a7

    fn into_iter(self) -> IntoIter<T, A> \u24d8

    Gets an iterator for moving out the BTreeSet\u2019s contents.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let set = BTreeSet::from([1, 2, 3, 4]);\n \n let v: Vec<_> = set.into_iter().collect();\n assert_eq!(v, [1, 2, 3, 4]);
    Run
    \n-
    \u00a7

    type Item = T

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = IntoIter<T, A>

    Which kind of iterator are we turning this into?
    source\u00a7

    impl<T: Ord, A: Allocator + Clone> Ord for BTreeSet<T, A>

    source\u00a7

    fn cmp(&self, other: &BTreeSet<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 \u00b7 source\u00a7

    fn max(self, other: Self) -> Self
    where\n- Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 \u00b7 source\u00a7

    fn min(self, other: Self) -> Self
    where\n- Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 \u00b7 source\u00a7

    fn clamp(self, min: Self, max: Self) -> Self
    where\n- Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source\u00a7

    impl<T: PartialEq, A: Allocator + Clone> PartialEq for BTreeSet<T, A>

    source\u00a7

    fn eq(&self, other: &BTreeSet<T, A>) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<T: PartialOrd, A: Allocator + Clone> PartialOrd for BTreeSet<T, A>

    source\u00a7

    fn partial_cmp(&self, other: &BTreeSet<T, A>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source\u00a7

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source\u00a7

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\n-operator. Read more
    source\u00a7

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    source\u00a7

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\n-operator. Read more
    source\u00a7

    impl<T: Ord + Clone, A: Allocator + Clone> Sub<&BTreeSet<T, A>> for &BTreeSet<T, A>

    source\u00a7

    fn sub(self, rhs: &BTreeSet<T, A>) -> BTreeSet<T, A>

    Returns the difference of self and rhs as a new BTreeSet<T>.

    \n+
    \u00a7

    type Item = T

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = IntoIter<T, A>

    Which kind of iterator are we turning this into?
    source\u00a7

    impl<T: Ord, A: Allocator + Clone> Ord for BTreeSet<T, A>

    source\u00a7

    fn cmp(&self, other: &BTreeSet<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 \u00b7 source\u00a7

    fn max(self, other: Self) -> Self
    where\n+ Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 \u00b7 source\u00a7

    fn min(self, other: Self) -> Self
    where\n+ Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 \u00b7 source\u00a7

    fn clamp(self, min: Self, max: Self) -> Self
    where\n+ Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source\u00a7

    impl<T: PartialEq, A: Allocator + Clone> PartialEq for BTreeSet<T, A>

    source\u00a7

    fn eq(&self, other: &BTreeSet<T, A>) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<T: PartialOrd, A: Allocator + Clone> PartialOrd for BTreeSet<T, A>

    source\u00a7

    fn partial_cmp(&self, other: &BTreeSet<T, A>) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source\u00a7

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source\u00a7

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\n+operator. Read more
    source\u00a7

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    source\u00a7

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\n+operator. Read more
    source\u00a7

    impl<T: Ord + Clone, A: Allocator + Clone> Sub<&BTreeSet<T, A>> for &BTreeSet<T, A>

    source\u00a7

    fn sub(self, rhs: &BTreeSet<T, A>) -> BTreeSet<T, A>

    Returns the difference of self and rhs as a new BTreeSet<T>.

    \n
    \u00a7Examples
    \n
    use std::collections::BTreeSet;\n \n let a = BTreeSet::from([1, 2, 3]);\n let b = BTreeSet::from([3, 4, 5]);\n \n let result = &a - &b;\n assert_eq!(result, BTreeSet::from([1, 2]));
    Run
    \n-
    \u00a7

    type Output = BTreeSet<T, A>

    The resulting type after applying the - operator.
    source\u00a7

    impl<T: Eq, A: Allocator + Clone> Eq for BTreeSet<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for BTreeSet<T, A>
    where\n- A: Freeze,

    \u00a7

    impl<T, A> RefUnwindSafe for BTreeSet<T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<T, A> Send for BTreeSet<T, A>
    where\n- A: Send,\n- T: Send,

    \u00a7

    impl<T, A> Sync for BTreeSet<T, A>
    where\n- A: Sync,\n- T: Sync,

    \u00a7

    impl<T, A> Unpin for BTreeSet<T, A>
    where\n- A: Unpin,

    \u00a7

    impl<T, A> UnwindSafe for BTreeSet<T, A>
    where\n- A: UnwindSafe,\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+
    \u00a7

    type Output = BTreeSet<T, A>

    The resulting type after applying the - operator.
    source\u00a7

    impl<T: Eq, A: Allocator + Clone> Eq for BTreeSet<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for BTreeSet<T, A>
    where\n+ A: Freeze,

    \u00a7

    impl<T, A> RefUnwindSafe for BTreeSet<T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<T, A> Send for BTreeSet<T, A>
    where\n+ A: Send,\n+ T: Send,

    \u00a7

    impl<T, A> Sync for BTreeSet<T, A>
    where\n+ A: Sync,\n+ T: Sync,

    \u00a7

    impl<T, A> Unpin for BTreeSet<T, A>
    where\n+ A: Unpin,

    \u00a7

    impl<T, A> UnwindSafe for BTreeSet<T, A>
    where\n+ A: UnwindSafe,\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.Difference.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.Difference.html", "unified_diff": "@@ -1,203 +1,203 @@\n Difference in alloc::collections::btree_set - Rust
    \n-

    Struct alloc::collections::btree_set::Difference

    1.0.0 \u00b7 source \u00b7
    pub struct Difference<'a, T: 'a, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    A lazy iterator producing elements in the difference of BTreeSets.

    \n+

    Struct alloc::collections::btree_set::Difference

    1.0.0 \u00b7 source \u00b7
    pub struct Difference<'a, T: 'a, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    A lazy iterator producing elements in the difference of BTreeSets.

    \n

    This struct is created by the difference method on BTreeSet.\n See its documentation for more.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T, A: Allocator + Clone> Clone for Difference<'_, T, A>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator + Clone> Debug for Difference<'_, T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T: Ord, A: Allocator + Clone> Iterator for Difference<'a, T, A>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn min(self) -> Option<&'a T>

    Returns the minimum element of an iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T, A: Allocator + Clone> Clone for Difference<'_, T, A>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator + Clone> Debug for Difference<'_, T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T: Ord, A: Allocator + Clone> Iterator for Difference<'a, T, A>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn min(self) -> Option<&'a T>

    Returns the minimum element of an iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T: Ord, A: Allocator + Clone> FusedIterator for Difference<'_, T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, A> Freeze for Difference<'a, T, A>

    \u00a7

    impl<'a, T, A> RefUnwindSafe for Difference<'a, T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Send for Difference<'a, T, A>
    where\n- A: Sync,\n- T: Sync,

    \u00a7

    impl<'a, T, A> Sync for Difference<'a, T, A>
    where\n- A: Sync,\n- T: Sync,

    \u00a7

    impl<'a, T, A> Unpin for Difference<'a, T, A>

    \u00a7

    impl<'a, T, A> UnwindSafe for Difference<'a, T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T: Ord, A: Allocator + Clone> FusedIterator for Difference<'_, T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, A> Freeze for Difference<'a, T, A>

    \u00a7

    impl<'a, T, A> RefUnwindSafe for Difference<'a, T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Send for Difference<'a, T, A>
    where\n+ A: Sync,\n+ T: Sync,

    \u00a7

    impl<'a, T, A> Sync for Difference<'a, T, A>
    where\n+ A: Sync,\n+ T: Sync,

    \u00a7

    impl<'a, T, A> Unpin for Difference<'a, T, A>

    \u00a7

    impl<'a, T, A> UnwindSafe for Difference<'a, T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.ExtractIf.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.ExtractIf.html", "unified_diff": "@@ -1,210 +1,210 @@\n ExtractIf in alloc::collections::btree_set - Rust
    \n-
    pub struct ExtractIf<'a, T, F, A: Allocator + Clone = Global>
    where\n+
    pub struct ExtractIf<'a, T, F, A: Allocator + Clone = Global>
    where\n T: 'a,\n- F: 'a + FnMut(&T) -> bool,
    { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (btree_extract_if #70530)
    Expand description

    An iterator produced by calling extract_if on BTreeSet.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T, F, A: Allocator + Clone> Debug for ExtractIf<'_, T, F, A>
    where\n+ F: 'a + FnMut(&T) -> bool,
    { /* private fields */ }

    \ud83d\udd2cThis is a nightly-only experimental API. (btree_extract_if #70530)
    Expand description

    An iterator produced by calling extract_if on BTreeSet.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T, F, A: Allocator + Clone> Debug for ExtractIf<'_, T, F, A>
    where\n T: Debug,\n- F: FnMut(&T) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, F, A: Allocator + Clone> Iterator for ExtractIf<'_, T, F, A>
    where\n- F: 'a + FnMut(&T) -> bool,

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ F: FnMut(&T) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, F, A: Allocator + Clone> Iterator for ExtractIf<'_, T, F, A>
    where\n+ F: 'a + FnMut(&T) -> bool,

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<T, F, A: Allocator + Clone> FusedIterator for ExtractIf<'_, T, F, A>
    where\n- F: FnMut(&T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, F, A> Freeze for ExtractIf<'a, T, F, A>
    where\n- A: Freeze,\n- F: Freeze,

    \u00a7

    impl<'a, T, F, A> RefUnwindSafe for ExtractIf<'a, T, F, A>
    where\n- A: RefUnwindSafe,\n- F: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, F, A> Send for ExtractIf<'a, T, F, A>
    where\n- A: Send,\n- F: Send,\n- T: Send,

    \u00a7

    impl<'a, T, F, A> Sync for ExtractIf<'a, T, F, A>
    where\n- A: Sync,\n- F: Sync,\n- T: Sync,

    \u00a7

    impl<'a, T, F, A> Unpin for ExtractIf<'a, T, F, A>
    where\n- A: Unpin,\n- F: Unpin,

    \u00a7

    impl<'a, T, F, A = Global> !UnwindSafe for ExtractIf<'a, T, F, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<T, F, A: Allocator + Clone> FusedIterator for ExtractIf<'_, T, F, A>
    where\n+ F: FnMut(&T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, F, A> Freeze for ExtractIf<'a, T, F, A>
    where\n+ A: Freeze,\n+ F: Freeze,

    \u00a7

    impl<'a, T, F, A> RefUnwindSafe for ExtractIf<'a, T, F, A>
    where\n+ A: RefUnwindSafe,\n+ F: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, F, A> Send for ExtractIf<'a, T, F, A>
    where\n+ A: Send,\n+ F: Send,\n+ T: Send,

    \u00a7

    impl<'a, T, F, A> Sync for ExtractIf<'a, T, F, A>
    where\n+ A: Sync,\n+ F: Sync,\n+ T: Sync,

    \u00a7

    impl<'a, T, F, A> Unpin for ExtractIf<'a, T, F, A>
    where\n+ A: Unpin,\n+ F: Unpin,

    \u00a7

    impl<'a, T, F, A = Global> !UnwindSafe for ExtractIf<'a, T, F, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.Intersection.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.Intersection.html", "unified_diff": "@@ -1,203 +1,203 @@\n Intersection in alloc::collections::btree_set - Rust
    \n-

    Struct alloc::collections::btree_set::Intersection

    1.0.0 \u00b7 source \u00b7
    pub struct Intersection<'a, T: 'a, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    A lazy iterator producing elements in the intersection of BTreeSets.

    \n+

    Struct alloc::collections::btree_set::Intersection

    1.0.0 \u00b7 source \u00b7
    pub struct Intersection<'a, T: 'a, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    A lazy iterator producing elements in the intersection of BTreeSets.

    \n

    This struct is created by the intersection method on BTreeSet.\n See its documentation for more.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T, A: Allocator + Clone> Clone for Intersection<'_, T, A>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator + Clone> Debug for Intersection<'_, T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T: Ord, A: Allocator + Clone> Iterator for Intersection<'a, T, A>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn min(self) -> Option<&'a T>

    Returns the minimum element of an iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T, A: Allocator + Clone> Clone for Intersection<'_, T, A>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator + Clone> Debug for Intersection<'_, T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T: Ord, A: Allocator + Clone> Iterator for Intersection<'a, T, A>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn min(self) -> Option<&'a T>

    Returns the minimum element of an iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T: Ord, A: Allocator + Clone> FusedIterator for Intersection<'_, T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, A> Freeze for Intersection<'a, T, A>

    \u00a7

    impl<'a, T, A> RefUnwindSafe for Intersection<'a, T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Send for Intersection<'a, T, A>
    where\n- A: Sync,\n- T: Sync,

    \u00a7

    impl<'a, T, A> Sync for Intersection<'a, T, A>
    where\n- A: Sync,\n- T: Sync,

    \u00a7

    impl<'a, T, A> Unpin for Intersection<'a, T, A>

    \u00a7

    impl<'a, T, A> UnwindSafe for Intersection<'a, T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T: Ord, A: Allocator + Clone> FusedIterator for Intersection<'_, T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, A> Freeze for Intersection<'a, T, A>

    \u00a7

    impl<'a, T, A> RefUnwindSafe for Intersection<'a, T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Send for Intersection<'a, T, A>
    where\n+ A: Sync,\n+ T: Sync,

    \u00a7

    impl<'a, T, A> Sync for Intersection<'a, T, A>
    where\n+ A: Sync,\n+ T: Sync,

    \u00a7

    impl<'a, T, A> Unpin for Intersection<'a, T, A>

    \u00a7

    impl<'a, T, A> UnwindSafe for Intersection<'a, T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.IntoIter.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.IntoIter.html", "unified_diff": "@@ -1,226 +1,226 @@\n IntoIter in alloc::collections::btree_set - Rust
    \n-

    Struct alloc::collections::btree_set::IntoIter

    1.0.0 \u00b7 source \u00b7
    pub struct IntoIter<T, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    An owning iterator over the items of a BTreeSet.

    \n+

    Struct alloc::collections::btree_set::IntoIter

    1.0.0 \u00b7 source \u00b7
    pub struct IntoIter<T, A: Allocator + Clone = Global> { /* private fields */ }
    Expand description

    An owning iterator over the items of a BTreeSet.

    \n

    This struct is created by the into_iter method on BTreeSet\n-(provided by the IntoIterator trait). See its documentation for more.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T: Debug, A: Debug + Allocator + Clone> Debug for IntoIter<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<T, A> Default for IntoIter<T, A>
    where\n- A: Allocator + Default + Clone,

    source\u00a7

    fn default() -> Self

    Creates an empty btree_set::IntoIter.

    \n+(provided by the IntoIterator trait). See its documentation for more.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T: Debug, A: Debug + Allocator + Clone> Debug for IntoIter<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<T, A> Default for IntoIter<T, A>
    where\n+ A: Allocator + Default + Clone,

    source\u00a7

    fn default() -> Self

    Creates an empty btree_set::IntoIter.

    \n \n
    let iter: btree_set::IntoIter<u8> = Default::default();\n assert_eq!(iter.len(), 0);
    Run
    \n-
    source\u00a7

    impl<T, A: Allocator + Clone> DoubleEndedIterator for IntoIter<T, A>

    source\u00a7

    fn next_back(&mut self) -> Option<T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T, A: Allocator + Clone> ExactSizeIterator for IntoIter<T, A>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<T, A: Allocator + Clone> Iterator for IntoIter<T, A>

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    source\u00a7

    impl<T, A: Allocator + Clone> DoubleEndedIterator for IntoIter<T, A>

    source\u00a7

    fn next_back(&mut self) -> Option<T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T, A: Allocator + Clone> ExactSizeIterator for IntoIter<T, A>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<T, A: Allocator + Clone> Iterator for IntoIter<T, A>

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T, A: Allocator + Clone> FusedIterator for IntoIter<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for IntoIter<T, A>
    where\n- A: Freeze,

    \u00a7

    impl<T, A> RefUnwindSafe for IntoIter<T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<T, A> Send for IntoIter<T, A>
    where\n- A: Send,\n- T: Send,

    \u00a7

    impl<T, A> Sync for IntoIter<T, A>
    where\n- A: Sync,\n- T: Sync,

    \u00a7

    impl<T, A> Unpin for IntoIter<T, A>
    where\n- A: Unpin,

    \u00a7

    impl<T, A> UnwindSafe for IntoIter<T, A>
    where\n- A: UnwindSafe,\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T, A: Allocator + Clone> FusedIterator for IntoIter<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for IntoIter<T, A>
    where\n+ A: Freeze,

    \u00a7

    impl<T, A> RefUnwindSafe for IntoIter<T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<T, A> Send for IntoIter<T, A>
    where\n+ A: Send,\n+ T: Send,

    \u00a7

    impl<T, A> Sync for IntoIter<T, A>
    where\n+ A: Sync,\n+ T: Sync,

    \u00a7

    impl<T, A> Unpin for IntoIter<T, A>
    where\n+ A: Unpin,

    \u00a7

    impl<T, A> UnwindSafe for IntoIter<T, A>
    where\n+ A: UnwindSafe,\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.Iter.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.Iter.html", "unified_diff": "@@ -1,222 +1,222 @@\n Iter in alloc::collections::btree_set - Rust
    \n

    Struct alloc::collections::btree_set::Iter

    1.0.0 \u00b7 source \u00b7
    pub struct Iter<'a, T: 'a> { /* private fields */ }
    Expand description

    An iterator over the items of a BTreeSet.

    \n

    This struct is created by the iter method on BTreeSet.\n See its documentation for more.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T> Clone for Iter<'_, T>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for Iter<'_, T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<T> Default for Iter<'_, T>

    source\u00a7

    fn default() -> Self

    Creates an empty btree_set::Iter.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T> Clone for Iter<'_, T>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for Iter<'_, T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<T> Default for Iter<'_, T>

    source\u00a7

    fn default() -> Self

    Creates an empty btree_set::Iter.

    \n \n
    let iter: btree_set::Iter<'_, u8> = Default::default();\n assert_eq!(iter.len(), 0);
    Run
    \n-
    source\u00a7

    impl<'a, T> DoubleEndedIterator for Iter<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for Iter<'_, T>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, T> Iterator for Iter<'a, T>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<&'a T>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn min(self) -> Option<&'a T>
    where\n- &'a T: Ord,

    Returns the minimum element of an iterator. Read more
    source\u00a7

    fn max(self) -> Option<&'a T>
    where\n- &'a T: Ord,

    Returns the maximum element of an iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    source\u00a7

    impl<'a, T> DoubleEndedIterator for Iter<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for Iter<'_, T>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, T> Iterator for Iter<'a, T>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<&'a T>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn min(self) -> Option<&'a T>
    where\n+ &'a T: Ord,

    Returns the minimum element of an iterator. Read more
    source\u00a7

    fn max(self) -> Option<&'a T>
    where\n+ &'a T: Ord,

    Returns the maximum element of an iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T> FusedIterator for Iter<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for Iter<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for Iter<'a, T>
    where\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Send for Iter<'a, T>
    where\n- T: Sync,

    \u00a7

    impl<'a, T> Sync for Iter<'a, T>
    where\n- T: Sync,

    \u00a7

    impl<'a, T> Unpin for Iter<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for Iter<'a, T>
    where\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T> FusedIterator for Iter<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for Iter<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for Iter<'a, T>
    where\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Send for Iter<'a, T>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T> Sync for Iter<'a, T>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T> Unpin for Iter<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for Iter<'a, T>
    where\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.Range.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.Range.html", "unified_diff": "@@ -1,219 +1,219 @@\n Range in alloc::collections::btree_set - Rust
    \n

    Struct alloc::collections::btree_set::Range

    1.17.0 \u00b7 source \u00b7
    pub struct Range<'a, T: 'a> { /* private fields */ }
    Expand description

    An iterator over a sub-range of items in a BTreeSet.

    \n

    This struct is created by the range method on BTreeSet.\n See its documentation for more.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T> Clone for Range<'_, T>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, T: Debug + 'a> Debug for Range<'a, T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<T> Default for Range<'_, T>

    source\u00a7

    fn default() -> Self

    Creates an empty btree_set::Range.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T> Clone for Range<'_, T>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, T: Debug + 'a> Debug for Range<'a, T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<T> Default for Range<'_, T>

    source\u00a7

    fn default() -> Self

    Creates an empty btree_set::Range.

    \n \n
    let iter: btree_set::Range<'_, u8> = Default::default();\n assert_eq!(iter.count(), 0);
    Run
    \n-
    source\u00a7

    impl<'a, T> DoubleEndedIterator for Range<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, T> Iterator for Range<'a, T>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn last(self) -> Option<&'a T>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn min(self) -> Option<&'a T>
    where\n- &'a T: Ord,

    Returns the minimum element of an iterator. Read more
    source\u00a7

    fn max(self) -> Option<&'a T>
    where\n- &'a T: Ord,

    Returns the maximum element of an iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    source\u00a7

    impl<'a, T> DoubleEndedIterator for Range<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, T> Iterator for Range<'a, T>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn last(self) -> Option<&'a T>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn min(self) -> Option<&'a T>
    where\n+ &'a T: Ord,

    Returns the minimum element of an iterator. Read more
    source\u00a7

    fn max(self) -> Option<&'a T>
    where\n+ &'a T: Ord,

    Returns the maximum element of an iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T> FusedIterator for Range<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for Range<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for Range<'a, T>
    where\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Send for Range<'a, T>
    where\n- T: Sync,

    \u00a7

    impl<'a, T> Sync for Range<'a, T>
    where\n- T: Sync,

    \u00a7

    impl<'a, T> Unpin for Range<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for Range<'a, T>
    where\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T> FusedIterator for Range<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for Range<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for Range<'a, T>
    where\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Send for Range<'a, T>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T> Sync for Range<'a, T>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T> Unpin for Range<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for Range<'a, T>
    where\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.SymmetricDifference.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.SymmetricDifference.html", "unified_diff": "@@ -1,199 +1,199 @@\n SymmetricDifference in alloc::collections::btree_set - Rust
    \n

    Struct alloc::collections::btree_set::SymmetricDifference

    1.0.0 \u00b7 source \u00b7
    pub struct SymmetricDifference<'a, T: 'a>(/* private fields */);
    Expand description

    A lazy iterator producing elements in the symmetric difference of BTreeSets.

    \n

    This struct is created by the symmetric_difference method on\n BTreeSet. See its documentation for more.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T> Clone for SymmetricDifference<'_, T>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for SymmetricDifference<'_, T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T: Ord> Iterator for SymmetricDifference<'a, T>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn min(self) -> Option<&'a T>

    Returns the minimum element of an iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T> Clone for SymmetricDifference<'_, T>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for SymmetricDifference<'_, T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T: Ord> Iterator for SymmetricDifference<'a, T>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn min(self) -> Option<&'a T>

    Returns the minimum element of an iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T: Ord> FusedIterator for SymmetricDifference<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for SymmetricDifference<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for SymmetricDifference<'a, T>
    where\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Send for SymmetricDifference<'a, T>
    where\n- T: Sync,

    \u00a7

    impl<'a, T> Sync for SymmetricDifference<'a, T>
    where\n- T: Sync,

    \u00a7

    impl<'a, T> Unpin for SymmetricDifference<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for SymmetricDifference<'a, T>
    where\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T: Ord> FusedIterator for SymmetricDifference<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for SymmetricDifference<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for SymmetricDifference<'a, T>
    where\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Send for SymmetricDifference<'a, T>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T> Sync for SymmetricDifference<'a, T>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T> Unpin for SymmetricDifference<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for SymmetricDifference<'a, T>
    where\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.Union.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/btree_set/struct.Union.html", "unified_diff": "@@ -1,199 +1,199 @@\n Union in alloc::collections::btree_set - Rust
    \n

    Struct alloc::collections::btree_set::Union

    1.0.0 \u00b7 source \u00b7
    pub struct Union<'a, T: 'a>(/* private fields */);
    Expand description

    A lazy iterator producing elements in the union of BTreeSets.

    \n

    This struct is created by the union method on BTreeSet.\n See its documentation for more.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T> Clone for Union<'_, T>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for Union<'_, T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T: Ord> Iterator for Union<'a, T>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn min(self) -> Option<&'a T>

    Returns the minimum element of an iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T> Clone for Union<'_, T>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for Union<'_, T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T: Ord> Iterator for Union<'a, T>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn min(self) -> Option<&'a T>

    Returns the minimum element of an iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T: Ord> FusedIterator for Union<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for Union<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for Union<'a, T>
    where\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Send for Union<'a, T>
    where\n- T: Sync,

    \u00a7

    impl<'a, T> Sync for Union<'a, T>
    where\n- T: Sync,

    \u00a7

    impl<'a, T> Unpin for Union<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for Union<'a, T>
    where\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T: Ord> FusedIterator for Union<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for Union<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for Union<'a, T>
    where\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Send for Union<'a, T>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T> Sync for Union<'a, T>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T> Unpin for Union<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for Union<'a, T>
    where\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/enum.TryReserveErrorKind.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/enum.TryReserveErrorKind.html", "unified_diff": "@@ -6,22 +6,22 @@\n /* private fields */\n },\n }
    \ud83d\udd2cThis is a nightly-only experimental API. (try_reserve_kind #48043)
    Expand description

    Details of the allocation that caused a TryReserveError

    \n

    Variants\u00a7

    \u00a7

    CapacityOverflow

    \ud83d\udd2cThis is a nightly-only experimental API. (try_reserve_kind #48043)

    Error due to the computed capacity exceeding the collection\u2019s maximum\n (usually isize::MAX bytes).

    \n
    \u00a7

    AllocError

    Fields

    \u00a7layout: Layout
    \ud83d\udd2cThis is a nightly-only experimental API. (try_reserve_kind #48043)

    The layout of allocation request that failed

    \n
    \ud83d\udd2cThis is a nightly-only experimental API. (try_reserve_kind #48043)

    The memory allocator returned an error

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl Clone for TryReserveErrorKind

    source\u00a7

    fn clone(&self) -> TryReserveErrorKind

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for TryReserveErrorKind

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl From<LayoutError> for TryReserveErrorKind

    source\u00a7

    impl From<TryReserveErrorKind> for TryReserveError

    source\u00a7

    fn from(kind: TryReserveErrorKind) -> Self

    Converts to this type from the input type.
    source\u00a7

    impl PartialEq for TryReserveErrorKind

    source\u00a7

    fn eq(&self, other: &TryReserveErrorKind) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl Eq for TryReserveErrorKind

    source\u00a7

    impl StructuralPartialEq for TryReserveErrorKind

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl Clone for TryReserveErrorKind

    source\u00a7

    fn clone(&self) -> TryReserveErrorKind

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for TryReserveErrorKind

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl From<LayoutError> for TryReserveErrorKind

    source\u00a7

    impl From<TryReserveErrorKind> for TryReserveError

    source\u00a7

    fn from(kind: TryReserveErrorKind) -> Self

    Converts to this type from the input type.
    source\u00a7

    impl PartialEq for TryReserveErrorKind

    source\u00a7

    fn eq(&self, other: &TryReserveErrorKind) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl Eq for TryReserveErrorKind

    source\u00a7

    impl StructuralPartialEq for TryReserveErrorKind

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.Cursor.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.Cursor.html", "unified_diff": "@@ -1,50 +1,50 @@\n Cursor in alloc::collections::linked_list - Rust
    \n

    Struct alloc::collections::linked_list::Cursor

    source \u00b7
    pub struct Cursor<'a, T: 'a, A: Allocator = Global> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)
    Expand description

    A cursor over a LinkedList.

    \n

    A Cursor is like an iterator, except that it can freely seek back-and-forth.

    \n

    Cursors always rest between two elements in the list, and index in a logically circular way.\n To accommodate this, there is a \u201cghost\u201d non-element that yields None between the head and\n tail of the list.

    \n

    When created, cursors start at the front of the list, or the \u201cghost\u201d non-element if the list is empty.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, T, A: Allocator> Cursor<'a, T, A>

    source

    pub fn index(&self) -> Option<usize>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Returns the cursor position index within the LinkedList.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a, T, A: Allocator> Cursor<'a, T, A>

    source

    pub fn index(&self) -> Option<usize>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Returns the cursor position index within the LinkedList.

    \n

    This returns None if the cursor is currently pointing to the\n \u201cghost\u201d non-element.

    \n
    source

    pub fn move_next(&mut self)

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Moves the cursor to the next element of the LinkedList.

    \n

    If the cursor is pointing to the \u201cghost\u201d non-element then this will move it to\n the first element of the LinkedList. If it is pointing to the last\n element of the LinkedList then this will move it to the \u201cghost\u201d non-element.

    \n
    source

    pub fn move_prev(&mut self)

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Moves the cursor to the previous element of the LinkedList.

    \n

    If the cursor is pointing to the \u201cghost\u201d non-element then this will move it to\n the last element of the LinkedList. If it is pointing to the first\n element of the LinkedList then this will move it to the \u201cghost\u201d non-element.

    \n-
    source

    pub fn current(&self) -> Option<&'a T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Returns a reference to the element that the cursor is currently\n+

    source

    pub fn current(&self) -> Option<&'a T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Returns a reference to the element that the cursor is currently\n pointing to.

    \n

    This returns None if the cursor is currently pointing to the\n \u201cghost\u201d non-element.

    \n-
    source

    pub fn peek_next(&self) -> Option<&'a T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Returns a reference to the next element.

    \n+
    source

    pub fn peek_next(&self) -> Option<&'a T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Returns a reference to the next element.

    \n

    If the cursor is pointing to the \u201cghost\u201d non-element then this returns\n the first element of the LinkedList. If it is pointing to the last\n element of the LinkedList then this returns None.

    \n-
    source

    pub fn peek_prev(&self) -> Option<&'a T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Returns a reference to the previous element.

    \n+
    source

    pub fn peek_prev(&self) -> Option<&'a T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Returns a reference to the previous element.

    \n

    If the cursor is pointing to the \u201cghost\u201d non-element then this returns\n the last element of the LinkedList. If it is pointing to the first\n element of the LinkedList then this returns None.

    \n-
    source

    pub fn front(&self) -> Option<&'a T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Provides a reference to the front element of the cursor\u2019s parent list,\n+

    source

    pub fn front(&self) -> Option<&'a T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Provides a reference to the front element of the cursor\u2019s parent list,\n or None if the list is empty.

    \n-
    source

    pub fn back(&self) -> Option<&'a T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Provides a reference to the back element of the cursor\u2019s parent list,\n+

    source

    pub fn back(&self) -> Option<&'a T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Provides a reference to the back element of the cursor\u2019s parent list,\n or None if the list is empty.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T, A: Allocator> Clone for Cursor<'_, T, A>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<T: Debug, A: Allocator> Debug for Cursor<'_, T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T: Sync, A: Allocator + Sync> Send for Cursor<'_, T, A>

    source\u00a7

    impl<T: Sync, A: Allocator + Sync> Sync for Cursor<'_, T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, A> Freeze for Cursor<'a, T, A>

    \u00a7

    impl<'a, T, A> RefUnwindSafe for Cursor<'a, T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Unpin for Cursor<'a, T, A>

    \u00a7

    impl<'a, T, A> UnwindSafe for Cursor<'a, T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T, A: Allocator> Clone for Cursor<'_, T, A>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<T: Debug, A: Allocator> Debug for Cursor<'_, T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T: Sync, A: Allocator + Sync> Send for Cursor<'_, T, A>

    source\u00a7

    impl<T: Sync, A: Allocator + Sync> Sync for Cursor<'_, T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, A> Freeze for Cursor<'a, T, A>

    \u00a7

    impl<'a, T, A> RefUnwindSafe for Cursor<'a, T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Unpin for Cursor<'a, T, A>

    \u00a7

    impl<'a, T, A> UnwindSafe for Cursor<'a, T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.CursorMut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.CursorMut.html", "unified_diff": "@@ -3,34 +3,34 @@\n

    A Cursor is like an iterator, except that it can freely seek back-and-forth, and can\n safely mutate the list during iteration. This is because the lifetime of its yielded\n references is tied to its own lifetime, instead of just the underlying list. This means\n cursors cannot yield multiple elements at once.

    \n

    Cursors always rest between two elements in the list, and index in a logically circular way.\n To accommodate this, there is a \u201cghost\u201d non-element that yields None between the head and\n tail of the list.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, T, A: Allocator> CursorMut<'a, T, A>

    source

    pub fn index(&self) -> Option<usize>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Returns the cursor position index within the LinkedList.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a, T, A: Allocator> CursorMut<'a, T, A>

    source

    pub fn index(&self) -> Option<usize>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Returns the cursor position index within the LinkedList.

    \n

    This returns None if the cursor is currently pointing to the\n \u201cghost\u201d non-element.

    \n
    source

    pub fn move_next(&mut self)

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Moves the cursor to the next element of the LinkedList.

    \n

    If the cursor is pointing to the \u201cghost\u201d non-element then this will move it to\n the first element of the LinkedList. If it is pointing to the last\n element of the LinkedList then this will move it to the \u201cghost\u201d non-element.

    \n
    source

    pub fn move_prev(&mut self)

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Moves the cursor to the previous element of the LinkedList.

    \n

    If the cursor is pointing to the \u201cghost\u201d non-element then this will move it to\n the last element of the LinkedList. If it is pointing to the first\n element of the LinkedList then this will move it to the \u201cghost\u201d non-element.

    \n-
    source

    pub fn current(&mut self) -> Option<&mut T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Returns a reference to the element that the cursor is currently\n+

    source

    pub fn current(&mut self) -> Option<&mut T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Returns a reference to the element that the cursor is currently\n pointing to.

    \n

    This returns None if the cursor is currently pointing to the\n \u201cghost\u201d non-element.

    \n-
    source

    pub fn peek_next(&mut self) -> Option<&mut T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Returns a reference to the next element.

    \n+
    source

    pub fn peek_next(&mut self) -> Option<&mut T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Returns a reference to the next element.

    \n

    If the cursor is pointing to the \u201cghost\u201d non-element then this returns\n the first element of the LinkedList. If it is pointing to the last\n element of the LinkedList then this returns None.

    \n-
    source

    pub fn peek_prev(&mut self) -> Option<&mut T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Returns a reference to the previous element.

    \n+
    source

    pub fn peek_prev(&mut self) -> Option<&mut T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Returns a reference to the previous element.

    \n

    If the cursor is pointing to the \u201cghost\u201d non-element then this returns\n the last element of the LinkedList. If it is pointing to the first\n element of the LinkedList then this returns None.

    \n
    source

    pub fn as_cursor(&self) -> Cursor<'_, T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Returns a read-only cursor pointing to the current element.

    \n

    The lifetime of the returned Cursor is bound to that of the\n CursorMut, which means it cannot outlive the CursorMut and that the\n CursorMut is frozen for the lifetime of the Cursor.

    \n@@ -42,60 +42,60 @@\n inserted at the end of the LinkedList.

    \n
    source\u00a7

    impl<'a, T, A: Allocator> CursorMut<'a, T, A>

    source

    pub fn insert_after(&mut self, item: T)

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Inserts a new element into the LinkedList after the current one.

    \n

    If the cursor is pointing at the \u201cghost\u201d non-element then the new element is\n inserted at the front of the LinkedList.

    \n
    source

    pub fn insert_before(&mut self, item: T)

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Inserts a new element into the LinkedList before the current one.

    \n

    If the cursor is pointing at the \u201cghost\u201d non-element then the new element is\n inserted at the end of the LinkedList.

    \n-
    source

    pub fn remove_current(&mut self) -> Option<T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Removes the current element from the LinkedList.

    \n+
    source

    pub fn remove_current(&mut self) -> Option<T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Removes the current element from the LinkedList.

    \n

    The element that was removed is returned, and the cursor is\n moved to point to the next element in the LinkedList.

    \n

    If the cursor is currently pointing to the \u201cghost\u201d non-element then no element\n is removed and None is returned.

    \n-
    source

    pub fn remove_current_as_list(&mut self) -> Option<LinkedList<T, A>>
    where\n- A: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Removes the current element from the LinkedList without deallocating the list node.

    \n+
    source

    pub fn remove_current_as_list(&mut self) -> Option<LinkedList<T, A>>
    where\n+ A: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Removes the current element from the LinkedList without deallocating the list node.

    \n

    The node that was removed is returned as a new LinkedList containing only this node.\n The cursor is moved to point to the next element in the current LinkedList.

    \n

    If the cursor is currently pointing to the \u201cghost\u201d non-element then no element\n is removed and None is returned.

    \n
    source

    pub fn split_after(&mut self) -> LinkedList<T, A>
    where\n- A: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Splits the list into two after the current element. This will return a\n+ A: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Splits the list into two after the current element. This will return a\n new list consisting of everything after the cursor, with the original\n list retaining everything before.

    \n

    If the cursor is pointing at the \u201cghost\u201d non-element then the entire contents\n of the LinkedList are moved.

    \n
    source

    pub fn split_before(&mut self) -> LinkedList<T, A>
    where\n- A: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Splits the list into two before the current element. This will return a\n+ A: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Splits the list into two before the current element. This will return a\n new list consisting of everything before the cursor, with the original\n list retaining everything after.

    \n

    If the cursor is pointing at the \u201cghost\u201d non-element then the entire contents\n of the LinkedList are moved.

    \n
    source

    pub fn push_front(&mut self, elt: T)

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Appends an element to the front of the cursor\u2019s parent list. The node\n that the cursor points to is unchanged, even if it is the \u201cghost\u201d node.

    \n

    This operation should compute in O(1) time.

    \n
    source

    pub fn push_back(&mut self, elt: T)

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Appends an element to the back of the cursor\u2019s parent list. The node\n that the cursor points to is unchanged, even if it is the \u201cghost\u201d node.

    \n

    This operation should compute in O(1) time.

    \n-
    source

    pub fn pop_front(&mut self) -> Option<T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Removes the first element from the cursor\u2019s parent list and returns it,\n+

    source

    pub fn pop_front(&mut self) -> Option<T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Removes the first element from the cursor\u2019s parent list and returns it,\n or None if the list is empty. The element the cursor points to remains\n unchanged, unless it was pointing to the front element. In that case, it\n points to the new front element.

    \n

    This operation should compute in O(1) time.

    \n-
    source

    pub fn pop_back(&mut self) -> Option<T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Removes the last element from the cursor\u2019s parent list and returns it,\n+

    source

    pub fn pop_back(&mut self) -> Option<T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Removes the last element from the cursor\u2019s parent list and returns it,\n or None if the list is empty. The element the cursor points to remains\n unchanged, unless it was pointing to the back element. In that case, it\n points to the \u201cghost\u201d element.

    \n

    This operation should compute in O(1) time.

    \n-
    source

    pub fn front(&self) -> Option<&T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Provides a reference to the front element of the cursor\u2019s parent list,\n+

    source

    pub fn front(&self) -> Option<&T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Provides a reference to the front element of the cursor\u2019s parent list,\n or None if the list is empty.

    \n-
    source

    pub fn front_mut(&mut self) -> Option<&mut T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Provides a mutable reference to the front element of the cursor\u2019s\n+

    source

    pub fn front_mut(&mut self) -> Option<&mut T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Provides a mutable reference to the front element of the cursor\u2019s\n parent list, or None if the list is empty.

    \n-
    source

    pub fn back(&self) -> Option<&T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Provides a reference to the back element of the cursor\u2019s parent list,\n+

    source

    pub fn back(&self) -> Option<&T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Provides a reference to the back element of the cursor\u2019s parent list,\n or None if the list is empty.

    \n-
    source

    pub fn back_mut(&mut self) -> Option<&mut T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Provides a mutable reference to back element of the cursor\u2019s parent\n+

    source

    pub fn back_mut(&mut self) -> Option<&mut T>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Provides a mutable reference to back element of the cursor\u2019s parent\n list, or None if the list is empty.

    \n
    \u00a7Examples
    \n

    Building and mutating a list with a cursor, then getting the back element:

    \n \n
    #![feature(linked_list_cursors)]\n use std::collections::LinkedList;\n let mut dl = LinkedList::new();\n@@ -106,20 +106,20 @@\n *cursor.current().unwrap() = 99;\n *cursor.back_mut().unwrap() = 0;\n let mut contents = dl.into_iter();\n assert_eq!(contents.next(), Some(99));\n assert_eq!(contents.next(), Some(2));\n assert_eq!(contents.next(), Some(0));\n assert_eq!(contents.next(), None);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T: Debug, A: Allocator> Debug for CursorMut<'_, T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T: Send, A: Allocator + Send> Send for CursorMut<'_, T, A>

    source\u00a7

    impl<T: Sync, A: Allocator + Sync> Sync for CursorMut<'_, T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, A> Freeze for CursorMut<'a, T, A>

    \u00a7

    impl<'a, T, A> RefUnwindSafe for CursorMut<'a, T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Unpin for CursorMut<'a, T, A>

    \u00a7

    impl<'a, T, A = Global> !UnwindSafe for CursorMut<'a, T, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T: Debug, A: Allocator> Debug for CursorMut<'_, T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T: Send, A: Allocator + Send> Send for CursorMut<'_, T, A>

    source\u00a7

    impl<T: Sync, A: Allocator + Sync> Sync for CursorMut<'_, T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, A> Freeze for CursorMut<'a, T, A>

    \u00a7

    impl<'a, T, A> RefUnwindSafe for CursorMut<'a, T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Unpin for CursorMut<'a, T, A>

    \u00a7

    impl<'a, T, A = Global> !UnwindSafe for CursorMut<'a, T, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.ExtractIf.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.ExtractIf.html", "unified_diff": "@@ -1,199 +1,199 @@\n ExtractIf in alloc::collections::linked_list - Rust
    \n
    pub struct ExtractIf<'a, T: 'a, F, A: Allocator = Global>
    where\n- F: FnMut(&mut T) -> bool + 'a,
    { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (extract_if #43244)
    Expand description

    An iterator produced by calling extract_if on LinkedList.

    \n+ F: FnMut(&mut T) -> bool + 'a,
    { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (extract_if #43244)
    Expand description

    An iterator produced by calling extract_if on LinkedList.

    \n

    Trait Implementations\u00a7

    source\u00a7

    impl<T: Debug, F> Debug for ExtractIf<'_, T, F>
    where\n- F: FnMut(&mut T) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T, F, A: Allocator> Iterator for ExtractIf<'_, T, F, A>
    where\n- F: FnMut(&mut T) -> bool,

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ F: FnMut(&mut T) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T, F, A: Allocator> Iterator for ExtractIf<'_, T, F, A>
    where\n+ F: FnMut(&mut T) -> bool,

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, F, A> Freeze for ExtractIf<'a, T, F, A>
    where\n- F: Freeze,

    \u00a7

    impl<'a, T, F, A> RefUnwindSafe for ExtractIf<'a, T, F, A>
    where\n- A: RefUnwindSafe,\n- F: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, F, A = Global> !Send for ExtractIf<'a, T, F, A>

    \u00a7

    impl<'a, T, F, A = Global> !Sync for ExtractIf<'a, T, F, A>

    \u00a7

    impl<'a, T, F, A> Unpin for ExtractIf<'a, T, F, A>
    where\n- F: Unpin,

    \u00a7

    impl<'a, T, F, A = Global> !UnwindSafe for ExtractIf<'a, T, F, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, F, A> Freeze for ExtractIf<'a, T, F, A>
    where\n+ F: Freeze,

    \u00a7

    impl<'a, T, F, A> RefUnwindSafe for ExtractIf<'a, T, F, A>
    where\n+ A: RefUnwindSafe,\n+ F: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, F, A = Global> !Send for ExtractIf<'a, T, F, A>

    \u00a7

    impl<'a, T, F, A = Global> !Sync for ExtractIf<'a, T, F, A>

    \u00a7

    impl<'a, T, F, A> Unpin for ExtractIf<'a, T, F, A>
    where\n+ F: Unpin,

    \u00a7

    impl<'a, T, F, A = Global> !UnwindSafe for ExtractIf<'a, T, F, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.IntoIter.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.IntoIter.html", "unified_diff": "@@ -1,226 +1,226 @@\n IntoIter in alloc::collections::linked_list - Rust
    \n

    Struct alloc::collections::linked_list::IntoIter

    1.0.0 \u00b7 source \u00b7
    pub struct IntoIter<T, A: Allocator = Global> { /* private fields */ }
    Expand description

    An owning iterator over the elements of a LinkedList.

    \n

    This struct is created by the into_iter method on LinkedList\n-(provided by the IntoIterator trait). See its documentation for more.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T: Clone, A: Clone + Allocator> Clone for IntoIter<T, A>

    source\u00a7

    fn clone(&self) -> IntoIter<T, A> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for IntoIter<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<T> Default for IntoIter<T>

    source\u00a7

    fn default() -> Self

    Creates an empty linked_list::IntoIter.

    \n+(provided by the IntoIterator trait). See its documentation for more.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T: Clone, A: Clone + Allocator> Clone for IntoIter<T, A>

    source\u00a7

    fn clone(&self) -> IntoIter<T, A> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for IntoIter<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<T> Default for IntoIter<T>

    source\u00a7

    fn default() -> Self

    Creates an empty linked_list::IntoIter.

    \n \n
    let iter: linked_list::IntoIter<u8> = Default::default();\n assert_eq!(iter.len(), 0);
    Run
    \n-
    source\u00a7

    impl<T, A: Allocator> DoubleEndedIterator for IntoIter<T, A>

    source\u00a7

    fn next_back(&mut self) -> Option<T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T, A: Allocator> ExactSizeIterator for IntoIter<T, A>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<T, A: Allocator> Iterator for IntoIter<T, A>

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    source\u00a7

    impl<T, A: Allocator> DoubleEndedIterator for IntoIter<T, A>

    source\u00a7

    fn next_back(&mut self) -> Option<T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T, A: Allocator> ExactSizeIterator for IntoIter<T, A>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<T, A: Allocator> Iterator for IntoIter<T, A>

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T, A: Allocator> FusedIterator for IntoIter<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for IntoIter<T, A>
    where\n- A: Freeze,

    \u00a7

    impl<T, A> RefUnwindSafe for IntoIter<T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<T, A> Send for IntoIter<T, A>
    where\n- A: Send,\n- T: Send,

    \u00a7

    impl<T, A> Sync for IntoIter<T, A>
    where\n- A: Sync,\n- T: Sync,

    \u00a7

    impl<T, A> Unpin for IntoIter<T, A>
    where\n- A: Unpin,

    \u00a7

    impl<T, A> UnwindSafe for IntoIter<T, A>
    where\n- A: UnwindSafe,\n- T: UnwindSafe + RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T, A: Allocator> FusedIterator for IntoIter<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for IntoIter<T, A>
    where\n+ A: Freeze,

    \u00a7

    impl<T, A> RefUnwindSafe for IntoIter<T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<T, A> Send for IntoIter<T, A>
    where\n+ A: Send,\n+ T: Send,

    \u00a7

    impl<T, A> Sync for IntoIter<T, A>
    where\n+ A: Sync,\n+ T: Sync,

    \u00a7

    impl<T, A> Unpin for IntoIter<T, A>
    where\n+ A: Unpin,

    \u00a7

    impl<T, A> UnwindSafe for IntoIter<T, A>
    where\n+ A: UnwindSafe,\n+ T: UnwindSafe + RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.Iter.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.Iter.html", "unified_diff": "@@ -1,218 +1,218 @@\n Iter in alloc::collections::linked_list - Rust
    \n

    Struct alloc::collections::linked_list::Iter

    1.0.0 \u00b7 source \u00b7
    pub struct Iter<'a, T: 'a> { /* private fields */ }
    Expand description

    An iterator over the elements of a LinkedList.

    \n

    This struct is created by LinkedList::iter(). See its\n documentation for more.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T> Clone for Iter<'_, T>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for Iter<'_, T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<T> Default for Iter<'_, T>

    source\u00a7

    fn default() -> Self

    Creates an empty linked_list::Iter.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T> Clone for Iter<'_, T>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for Iter<'_, T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<T> Default for Iter<'_, T>

    source\u00a7

    fn default() -> Self

    Creates an empty linked_list::Iter.

    \n \n
    let iter: linked_list::Iter<'_, u8> = Default::default();\n assert_eq!(iter.len(), 0);
    Run
    \n-
    source\u00a7

    impl<'a, T> DoubleEndedIterator for Iter<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for Iter<'_, T>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, T> Iterator for Iter<'a, T>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<&'a T>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    source\u00a7

    impl<'a, T> DoubleEndedIterator for Iter<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for Iter<'_, T>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, T> Iterator for Iter<'a, T>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<&'a T>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T> FusedIterator for Iter<'_, T>

    source\u00a7

    impl<T: Sync> Send for Iter<'_, T>

    source\u00a7

    impl<T: Sync> Sync for Iter<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for Iter<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for Iter<'a, T>
    where\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Unpin for Iter<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for Iter<'a, T>
    where\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T> FusedIterator for Iter<'_, T>

    source\u00a7

    impl<T: Sync> Send for Iter<'_, T>

    source\u00a7

    impl<T: Sync> Sync for Iter<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for Iter<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for Iter<'a, T>
    where\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Unpin for Iter<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for Iter<'a, T>
    where\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.IterMut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.IterMut.html", "unified_diff": "@@ -1,211 +1,211 @@\n IterMut in alloc::collections::linked_list - Rust
    \n

    Struct alloc::collections::linked_list::IterMut

    1.0.0 \u00b7 source \u00b7
    pub struct IterMut<'a, T: 'a> { /* private fields */ }
    Expand description

    A mutable iterator over the elements of a LinkedList.

    \n

    This struct is created by LinkedList::iter_mut(). See its\n documentation for more.

    \n-

    Trait Implementations\u00a7

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for IterMut<'_, T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<T> Default for IterMut<'_, T>

    source\u00a7

    fn default() -> Self

    Returns the \u201cdefault value\u201d for a type. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for IterMut<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a mut T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for IterMut<'_, T>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, T> Iterator for IterMut<'a, T>

    \u00a7

    type Item = &'a mut T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<&'a mut T>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for IterMut<'_, T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<T> Default for IterMut<'_, T>

    source\u00a7

    fn default() -> Self

    Returns the \u201cdefault value\u201d for a type. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for IterMut<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a mut T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for IterMut<'_, T>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, T> Iterator for IterMut<'a, T>

    \u00a7

    type Item = &'a mut T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<&'a mut T>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T> FusedIterator for IterMut<'_, T>

    source\u00a7

    impl<T: Send> Send for IterMut<'_, T>

    source\u00a7

    impl<T: Sync> Sync for IterMut<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for IterMut<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for IterMut<'a, T>
    where\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Unpin for IterMut<'a, T>

    \u00a7

    impl<'a, T> !UnwindSafe for IterMut<'a, T>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T> FusedIterator for IterMut<'_, T>

    source\u00a7

    impl<T: Send> Send for IterMut<'_, T>

    source\u00a7

    impl<T: Sync> Sync for IterMut<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for IterMut<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for IterMut<'a, T>
    where\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Unpin for IterMut<'a, T>

    \u00a7

    impl<'a, T> !UnwindSafe for IterMut<'a, T>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.LinkedList.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/linked_list/struct.LinkedList.html", "unified_diff": "@@ -11,15 +11,15 @@\n array-based containers are generally faster,\n more memory efficient, and make better use of CPU cache.

    \n

    Implementations\u00a7

    source\u00a7

    impl<T> LinkedList<T>

    const: 1.39.0 \u00b7 source

    pub const fn new() -> Self

    Creates an empty LinkedList.

    \n
    \u00a7Examples
    \n
    use std::collections::LinkedList;\n \n let list: LinkedList<u32> = LinkedList::new();
    Run
    \n-
    source

    pub fn append(&mut self, other: &mut Self)

    Moves all elements from other to the end of the list.

    \n+
    source

    pub fn append(&mut self, other: &mut Self)

    Moves all elements from other to the end of the list.

    \n

    This reuses all the nodes from other and moves them into self. After\n this operation, other becomes empty.

    \n

    This operation should compute in O(1) time and O(1) memory.

    \n
    \u00a7Examples
    \n
    use std::collections::LinkedList;\n \n let mut list1 = LinkedList::new();\n@@ -84,25 +84,25 @@\n 

    The cursor is pointing to the \u201cghost\u201d non-element if the list is empty.

    \n
    source

    pub fn cursor_front_mut(&mut self) -> CursorMut<'_, T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Provides a cursor with editing operations at the front element.

    \n

    The cursor is pointing to the \u201cghost\u201d non-element if the list is empty.

    \n
    source

    pub fn cursor_back(&self) -> Cursor<'_, T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Provides a cursor at the back element.

    \n

    The cursor is pointing to the \u201cghost\u201d non-element if the list is empty.

    \n
    source

    pub fn cursor_back_mut(&mut self) -> CursorMut<'_, T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_cursors #58533)

    Provides a cursor with editing operations at the back element.

    \n

    The cursor is pointing to the \u201cghost\u201d non-element if the list is empty.

    \n-
    source

    pub fn is_empty(&self) -> bool

    Returns true if the LinkedList is empty.

    \n+
    source

    pub fn is_empty(&self) -> bool

    Returns true if the LinkedList is empty.

    \n

    This operation should compute in O(1) time.

    \n
    \u00a7Examples
    \n
    use std::collections::LinkedList;\n \n let mut dl = LinkedList::new();\n assert!(dl.is_empty());\n \n dl.push_front(\"foo\");\n assert!(!dl.is_empty());
    Run
    \n-
    source

    pub fn len(&self) -> usize

    Returns the length of the LinkedList.

    \n+
    source

    pub fn len(&self) -> usize

    Returns the length of the LinkedList.

    \n

    This operation should compute in O(1) time.

    \n
    \u00a7Examples
    \n
    use std::collections::LinkedList;\n \n let mut dl = LinkedList::new();\n \n dl.push_front(2);\n@@ -124,41 +124,41 @@\n dl.push_front(1);\n assert_eq!(dl.len(), 2);\n assert_eq!(dl.front(), Some(&1));\n \n dl.clear();\n assert_eq!(dl.len(), 0);\n assert_eq!(dl.front(), None);
    Run
    \n-
    1.12.0 \u00b7 source

    pub fn contains(&self, x: &T) -> bool
    where\n- T: PartialEq<T>,

    Returns true if the LinkedList contains an element equal to the\n+

    1.12.0 \u00b7 source

    pub fn contains(&self, x: &T) -> bool
    where\n+ T: PartialEq<T>,

    Returns true if the LinkedList contains an element equal to the\n given value.

    \n

    This operation should compute linearly in O(n) time.

    \n
    \u00a7Examples
    \n
    use std::collections::LinkedList;\n \n let mut list: LinkedList<u32> = LinkedList::new();\n \n list.push_back(0);\n list.push_back(1);\n list.push_back(2);\n \n assert_eq!(list.contains(&0), true);\n assert_eq!(list.contains(&10), false);
    Run
    \n-
    source

    pub fn front(&self) -> Option<&T>

    Provides a reference to the front element, or None if the list is\n+

    source

    pub fn front(&self) -> Option<&T>

    Provides a reference to the front element, or None if the list is\n empty.

    \n

    This operation should compute in O(1) time.

    \n
    \u00a7Examples
    \n
    use std::collections::LinkedList;\n \n let mut dl = LinkedList::new();\n assert_eq!(dl.front(), None);\n \n dl.push_front(1);\n assert_eq!(dl.front(), Some(&1));
    Run
    \n-
    source

    pub fn front_mut(&mut self) -> Option<&mut T>

    Provides a mutable reference to the front element, or None if the list\n+

    source

    pub fn front_mut(&mut self) -> Option<&mut T>

    Provides a mutable reference to the front element, or None if the list\n is empty.

    \n

    This operation should compute in O(1) time.

    \n
    \u00a7Examples
    \n
    use std::collections::LinkedList;\n \n let mut dl = LinkedList::new();\n assert_eq!(dl.front(), None);\n@@ -167,26 +167,26 @@\n assert_eq!(dl.front(), Some(&1));\n \n match dl.front_mut() {\n     None => {},\n     Some(x) => *x = 5,\n }\n assert_eq!(dl.front(), Some(&5));
    Run
    \n-
    source

    pub fn back(&self) -> Option<&T>

    Provides a reference to the back element, or None if the list is\n+

    source

    pub fn back(&self) -> Option<&T>

    Provides a reference to the back element, or None if the list is\n empty.

    \n

    This operation should compute in O(1) time.

    \n
    \u00a7Examples
    \n
    use std::collections::LinkedList;\n \n let mut dl = LinkedList::new();\n assert_eq!(dl.back(), None);\n \n dl.push_back(1);\n assert_eq!(dl.back(), Some(&1));
    Run
    \n-
    source

    pub fn back_mut(&mut self) -> Option<&mut T>

    Provides a mutable reference to the back element, or None if the list\n+

    source

    pub fn back_mut(&mut self) -> Option<&mut T>

    Provides a mutable reference to the back element, or None if the list\n is empty.

    \n

    This operation should compute in O(1) time.

    \n
    \u00a7Examples
    \n
    use std::collections::LinkedList;\n \n let mut dl = LinkedList::new();\n assert_eq!(dl.back(), None);\n@@ -207,15 +207,15 @@\n let mut dl = LinkedList::new();\n \n dl.push_front(2);\n assert_eq!(dl.front().unwrap(), &2);\n \n dl.push_front(1);\n assert_eq!(dl.front().unwrap(), &1);
    Run
    \n-
    source

    pub fn pop_front(&mut self) -> Option<T>

    Removes the first element and returns it, or None if the list is\n+

    source

    pub fn pop_front(&mut self) -> Option<T>

    Removes the first element and returns it, or None if the list is\n empty.

    \n

    This operation should compute in O(1) time.

    \n
    \u00a7Examples
    \n
    use std::collections::LinkedList;\n \n let mut d = LinkedList::new();\n assert_eq!(d.pop_front(), None);\n@@ -230,27 +230,27 @@\n 
    \u00a7Examples
    \n
    use std::collections::LinkedList;\n \n let mut d = LinkedList::new();\n d.push_back(1);\n d.push_back(3);\n assert_eq!(3, *d.back().unwrap());
    Run
    \n-
    source

    pub fn pop_back(&mut self) -> Option<T>

    Removes the last element from a list and returns it, or None if\n+

    source

    pub fn pop_back(&mut self) -> Option<T>

    Removes the last element from a list and returns it, or None if\n it is empty.

    \n

    This operation should compute in O(1) time.

    \n
    \u00a7Examples
    \n
    use std::collections::LinkedList;\n \n let mut d = LinkedList::new();\n assert_eq!(d.pop_back(), None);\n d.push_back(1);\n d.push_back(3);\n assert_eq!(d.pop_back(), Some(3));
    Run
    \n-
    source

    pub fn split_off(&mut self, at: usize) -> LinkedList<T, A>
    where\n- A: Clone,

    Splits the list into two at the given index. Returns everything after the given index,\n+

    source

    pub fn split_off(&mut self, at: usize) -> LinkedList<T, A>
    where\n+ A: Clone,

    Splits the list into two at the given index. Returns everything after the given index,\n including the index.

    \n

    This operation should compute in O(n) time.

    \n
    \u00a7Panics
    \n

    Panics if at > len.

    \n
    \u00a7Examples
    \n
    use std::collections::LinkedList;\n \n@@ -260,15 +260,15 @@\n d.push_front(2);\n d.push_front(3);\n \n let mut split = d.split_off(2);\n \n assert_eq!(split.pop_front(), Some(1));\n assert_eq!(split.pop_front(), None);
    Run
    \n-
    source

    pub fn remove(&mut self, at: usize) -> T

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_remove #69210)

    Removes the element at the given index and returns it.

    \n+
    source

    pub fn remove(&mut self, at: usize) -> T

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_remove #69210)

    Removes the element at the given index and returns it.

    \n

    This operation should compute in O(n) time.

    \n
    \u00a7Panics
    \n

    Panics if at >= len

    \n
    \u00a7Examples
    \n
    #![feature(linked_list_remove)]\n use std::collections::LinkedList;\n \n@@ -278,15 +278,15 @@\n d.push_front(2);\n d.push_front(3);\n \n assert_eq!(d.remove(1), 2);\n assert_eq!(d.remove(0), 3);\n assert_eq!(d.remove(0), 1);
    Run
    \n
    source

    pub fn retain<F>(&mut self, f: F)
    where\n- F: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_retain #114135)

    Retains only the elements specified by the predicate.

    \n+ F: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_retain #114135)

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all elements e for which f(&e) returns false.\n This method operates in place, visiting each element exactly once in the\n original order, and preserves the order of the retained elements.

    \n
    \u00a7Examples
    \n
    #![feature(linked_list_retain)]\n use std::collections::LinkedList;\n \n@@ -314,15 +314,15 @@\n \n let keep = [false, true, false];\n let mut iter = keep.iter();\n d.retain(|_| *iter.next().unwrap());\n assert_eq!(d.pop_front(), Some(2));\n assert_eq!(d.pop_front(), None);
    Run
    \n
    source

    pub fn retain_mut<F>(&mut self, f: F)
    where\n- F: FnMut(&mut T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_retain #114135)

    Retains only the elements specified by the predicate.

    \n+ F: FnMut(&mut T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (linked_list_retain #114135)

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all elements e for which f(&e) returns false.\n This method operates in place, visiting each element exactly once in the\n original order, and preserves the order of the retained elements.

    \n
    \u00a7Examples
    \n
    #![feature(linked_list_retain)]\n use std::collections::LinkedList;\n \n@@ -337,15 +337,15 @@\n     true\n } else {\n     false\n });\n assert_eq!(d.pop_front(), Some(3));\n assert_eq!(d.pop_front(), None);
    Run
    \n
    source

    pub fn extract_if<F>(&mut self, filter: F) -> ExtractIf<'_, T, F, A> \u24d8
    where\n- F: FnMut(&mut T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (extract_if #43244)

    Creates an iterator which uses a closure to determine if an element should be removed.

    \n+ F: FnMut(&mut T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (extract_if #43244)

    Creates an iterator which uses a closure to determine if an element should be removed.

    \n

    If the closure returns true, then the element is removed and yielded.\n If the closure returns false, the element will remain in the list and will not be yielded\n by the iterator.

    \n

    If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\n or the iteration short-circuits, then the remaining elements will be retained.\n Use extract_if().for_each(drop) if you do not need the returned iterator.

    \n

    Note that extract_if lets you mutate every element in the filter closure, regardless of\n@@ -360,43 +360,43 @@\n numbers.extend(&[1, 2, 3, 4, 5, 6, 8, 9, 11, 13, 14, 15]);\n \n let evens = numbers.extract_if(|x| *x % 2 == 0).collect::<LinkedList<_>>();\n let odds = numbers;\n \n assert_eq!(evens.into_iter().collect::<Vec<_>>(), vec![2, 4, 6, 8, 14]);\n assert_eq!(odds.into_iter().collect::<Vec<_>>(), vec![1, 3, 5, 9, 11, 13, 15]);Run

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T: Clone, A: Allocator + Clone> Clone for LinkedList<T, A>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, other: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<T: Debug, A: Allocator> Debug for LinkedList<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T> Default for LinkedList<T>

    source\u00a7

    fn default() -> Self

    Creates an empty LinkedList<T>.

    \n-
    source\u00a7

    impl<T, A: Allocator> Drop for LinkedList<T, A>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    1.2.0 \u00b7 source\u00a7

    impl<'a, T: 'a + Copy, A: Allocator> Extend<&'a T> for LinkedList<T, A>

    source\u00a7

    fn extend<I: IntoIterator<Item = &'a T>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, elem: &'a T)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    source\u00a7

    impl<T, A: Allocator> Extend<T> for LinkedList<T, A>

    source\u00a7

    fn extend<I: IntoIterator<Item = T>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, elem: T)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    1.56.0 \u00b7 source\u00a7

    impl<T, const N: usize> From<[T; N]> for LinkedList<T>

    source\u00a7

    fn from(arr: [T; N]) -> Self

    Converts a [T; N] into a LinkedList<T>.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T: Clone, A: Allocator + Clone> Clone for LinkedList<T, A>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, other: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<T: Debug, A: Allocator> Debug for LinkedList<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T> Default for LinkedList<T>

    source\u00a7

    fn default() -> Self

    Creates an empty LinkedList<T>.

    \n+
    source\u00a7

    impl<T, A: Allocator> Drop for LinkedList<T, A>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    1.2.0 \u00b7 source\u00a7

    impl<'a, T: 'a + Copy, A: Allocator> Extend<&'a T> for LinkedList<T, A>

    source\u00a7

    fn extend<I: IntoIterator<Item = &'a T>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, elem: &'a T)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    source\u00a7

    impl<T, A: Allocator> Extend<T> for LinkedList<T, A>

    source\u00a7

    fn extend<I: IntoIterator<Item = T>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, elem: T)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    1.56.0 \u00b7 source\u00a7

    impl<T, const N: usize> From<[T; N]> for LinkedList<T>

    source\u00a7

    fn from(arr: [T; N]) -> Self

    Converts a [T; N] into a LinkedList<T>.

    \n \n
    use std::collections::LinkedList;\n \n let list1 = LinkedList::from([1, 2, 3, 4]);\n let list2: LinkedList<_> = [1, 2, 3, 4].into();\n assert_eq!(list1, list2);
    Run
    \n-
    source\u00a7

    impl<T> FromIterator<T> for LinkedList<T>

    source\u00a7

    fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self

    Creates a value from an iterator. Read more
    source\u00a7

    impl<T: Hash, A: Allocator> Hash for LinkedList<T, A>

    source\u00a7

    fn hash<H: Hasher>(&self, state: &mut H)

    Feeds this value into the given Hasher. Read more
    1.3.0 \u00b7 source\u00a7

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n- H: Hasher,\n- Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source\u00a7

    impl<'a, T, A: Allocator> IntoIterator for &'a LinkedList<T, A>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = Iter<'a, T>

    Which kind of iterator are we turning this into?
    source\u00a7

    fn into_iter(self) -> Iter<'a, T> \u24d8

    Creates an iterator from a value. Read more
    source\u00a7

    impl<'a, T, A: Allocator> IntoIterator for &'a mut LinkedList<T, A>

    \u00a7

    type Item = &'a mut T

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = IterMut<'a, T>

    Which kind of iterator are we turning this into?
    source\u00a7

    fn into_iter(self) -> IterMut<'a, T> \u24d8

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, A: Allocator> IntoIterator for LinkedList<T, A>

    source\u00a7

    fn into_iter(self) -> IntoIter<T, A> \u24d8

    Consumes the list into an iterator yielding elements by value.

    \n-
    \u00a7

    type Item = T

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = IntoIter<T, A>

    Which kind of iterator are we turning this into?
    source\u00a7

    impl<T: Ord, A: Allocator> Ord for LinkedList<T, A>

    source\u00a7

    fn cmp(&self, other: &Self) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 \u00b7 source\u00a7

    fn max(self, other: Self) -> Self
    where\n- Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 \u00b7 source\u00a7

    fn min(self, other: Self) -> Self
    where\n- Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 \u00b7 source\u00a7

    fn clamp(self, min: Self, max: Self) -> Self
    where\n- Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source\u00a7

    impl<T: PartialEq, A: Allocator> PartialEq for LinkedList<T, A>

    source\u00a7

    fn eq(&self, other: &Self) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &Self) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<T: PartialOrd, A: Allocator> PartialOrd for LinkedList<T, A>

    source\u00a7

    fn partial_cmp(&self, other: &Self) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source\u00a7

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source\u00a7

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\n-operator. Read more
    source\u00a7

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    source\u00a7

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\n-operator. Read more
    source\u00a7

    impl<T: Eq, A: Allocator> Eq for LinkedList<T, A>

    source\u00a7

    impl<T: Send, A: Allocator + Send> Send for LinkedList<T, A>

    source\u00a7

    impl<T: Sync, A: Allocator + Sync> Sync for LinkedList<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for LinkedList<T, A>
    where\n- A: Freeze,

    \u00a7

    impl<T, A> RefUnwindSafe for LinkedList<T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<T, A> Unpin for LinkedList<T, A>
    where\n- A: Unpin,

    \u00a7

    impl<T, A> UnwindSafe for LinkedList<T, A>
    where\n- A: UnwindSafe,\n- T: UnwindSafe + RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+
    source\u00a7

    impl<T> FromIterator<T> for LinkedList<T>

    source\u00a7

    fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self

    Creates a value from an iterator. Read more
    source\u00a7

    impl<T: Hash, A: Allocator> Hash for LinkedList<T, A>

    source\u00a7

    fn hash<H: Hasher>(&self, state: &mut H)

    Feeds this value into the given Hasher. Read more
    1.3.0 \u00b7 source\u00a7

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n+ H: Hasher,\n+ Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source\u00a7

    impl<'a, T, A: Allocator> IntoIterator for &'a LinkedList<T, A>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = Iter<'a, T>

    Which kind of iterator are we turning this into?
    source\u00a7

    fn into_iter(self) -> Iter<'a, T> \u24d8

    Creates an iterator from a value. Read more
    source\u00a7

    impl<'a, T, A: Allocator> IntoIterator for &'a mut LinkedList<T, A>

    \u00a7

    type Item = &'a mut T

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = IterMut<'a, T>

    Which kind of iterator are we turning this into?
    source\u00a7

    fn into_iter(self) -> IterMut<'a, T> \u24d8

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, A: Allocator> IntoIterator for LinkedList<T, A>

    source\u00a7

    fn into_iter(self) -> IntoIter<T, A> \u24d8

    Consumes the list into an iterator yielding elements by value.

    \n+
    \u00a7

    type Item = T

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = IntoIter<T, A>

    Which kind of iterator are we turning this into?
    source\u00a7

    impl<T: Ord, A: Allocator> Ord for LinkedList<T, A>

    source\u00a7

    fn cmp(&self, other: &Self) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 \u00b7 source\u00a7

    fn max(self, other: Self) -> Self
    where\n+ Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 \u00b7 source\u00a7

    fn min(self, other: Self) -> Self
    where\n+ Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 \u00b7 source\u00a7

    fn clamp(self, min: Self, max: Self) -> Self
    where\n+ Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source\u00a7

    impl<T: PartialEq, A: Allocator> PartialEq for LinkedList<T, A>

    source\u00a7

    fn eq(&self, other: &Self) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &Self) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<T: PartialOrd, A: Allocator> PartialOrd for LinkedList<T, A>

    source\u00a7

    fn partial_cmp(&self, other: &Self) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source\u00a7

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source\u00a7

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\n+operator. Read more
    source\u00a7

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    source\u00a7

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\n+operator. Read more
    source\u00a7

    impl<T: Eq, A: Allocator> Eq for LinkedList<T, A>

    source\u00a7

    impl<T: Send, A: Allocator + Send> Send for LinkedList<T, A>

    source\u00a7

    impl<T: Sync, A: Allocator + Sync> Sync for LinkedList<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for LinkedList<T, A>
    where\n+ A: Freeze,

    \u00a7

    impl<T, A> RefUnwindSafe for LinkedList<T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<T, A> Unpin for LinkedList<T, A>
    where\n+ A: Unpin,

    \u00a7

    impl<T, A> UnwindSafe for LinkedList<T, A>
    where\n+ A: UnwindSafe,\n+ T: UnwindSafe + RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/struct.TryReserveError.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/struct.TryReserveError.html", "unified_diff": "@@ -1,18 +1,18 @@\n TryReserveError in alloc::collections - Rust
    \n

    Struct alloc::collections::TryReserveError

    1.57.0 \u00b7 source \u00b7
    pub struct TryReserveError { /* private fields */ }
    Expand description

    The error type for try_reserve methods.

    \n

    Implementations\u00a7

    source\u00a7

    impl TryReserveError

    source

    pub fn kind(&self) -> TryReserveErrorKind

    \ud83d\udd2cThis is a nightly-only experimental API. (try_reserve_kind #48043)

    Details about the allocation that caused the error

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl Clone for TryReserveError

    source\u00a7

    fn clone(&self) -> TryReserveError

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for TryReserveError

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Display for TryReserveError

    source\u00a7

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Error for TryReserveError

    1.30.0 \u00b7 source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 \u00b7 source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 \u00b7 source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more
    source\u00a7

    impl From<TryReserveErrorKind> for TryReserveError

    source\u00a7

    fn from(kind: TryReserveErrorKind) -> Self

    Converts to this type from the input type.
    source\u00a7

    impl PartialEq for TryReserveError

    source\u00a7

    fn eq(&self, other: &TryReserveError) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl Eq for TryReserveError

    source\u00a7

    impl StructuralPartialEq for TryReserveError

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl Clone for TryReserveError

    source\u00a7

    fn clone(&self) -> TryReserveError

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for TryReserveError

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Display for TryReserveError

    source\u00a7

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Error for TryReserveError

    1.30.0 \u00b7 source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 \u00b7 source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 \u00b7 source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more
    source\u00a7

    impl From<TryReserveErrorKind> for TryReserveError

    source\u00a7

    fn from(kind: TryReserveErrorKind) -> Self

    Converts to this type from the input type.
    source\u00a7

    impl PartialEq for TryReserveError

    source\u00a7

    fn eq(&self, other: &TryReserveError) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl Eq for TryReserveError

    source\u00a7

    impl StructuralPartialEq for TryReserveError

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n- T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n+ T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/struct.Drain.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/struct.Drain.html", "unified_diff": "@@ -1,215 +1,215 @@\n Drain in alloc::collections::vec_deque - Rust
    \n

    Struct alloc::collections::vec_deque::Drain

    1.6.0 \u00b7 source \u00b7
    pub struct Drain<'a, T: 'a, A: Allocator = Global> { /* private fields */ }
    Expand description

    A draining iterator over the elements of a VecDeque.

    \n

    This struct is created by the drain method on VecDeque. See its\n documentation for more.

    \n-

    Trait Implementations\u00a7

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for Drain<'_, T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T, A: Allocator> DoubleEndedIterator for Drain<'_, T, A>

    source\u00a7

    fn next_back(&mut self) -> Option<T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T, A: Allocator> Drop for Drain<'_, T, A>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source\u00a7

    impl<T, A: Allocator> ExactSizeIterator for Drain<'_, T, A>

    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<T, A: Allocator> Iterator for Drain<'_, T, A>

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for Drain<'_, T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T, A: Allocator> DoubleEndedIterator for Drain<'_, T, A>

    source\u00a7

    fn next_back(&mut self) -> Option<T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T, A: Allocator> Drop for Drain<'_, T, A>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source\u00a7

    impl<T, A: Allocator> ExactSizeIterator for Drain<'_, T, A>

    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<T, A: Allocator> Iterator for Drain<'_, T, A>

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T, A: Allocator> FusedIterator for Drain<'_, T, A>

    source\u00a7

    impl<T: Send, A: Allocator + Send> Send for Drain<'_, T, A>

    source\u00a7

    impl<T: Sync, A: Allocator + Sync> Sync for Drain<'_, T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, A> Freeze for Drain<'a, T, A>

    \u00a7

    impl<'a, T, A> RefUnwindSafe for Drain<'a, T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Unpin for Drain<'a, T, A>

    \u00a7

    impl<'a, T, A> UnwindSafe for Drain<'a, T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T, A: Allocator> FusedIterator for Drain<'_, T, A>

    source\u00a7

    impl<T: Send, A: Allocator + Send> Send for Drain<'_, T, A>

    source\u00a7

    impl<T: Sync, A: Allocator + Sync> Sync for Drain<'_, T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, A> Freeze for Drain<'a, T, A>

    \u00a7

    impl<'a, T, A> RefUnwindSafe for Drain<'a, T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Unpin for Drain<'a, T, A>

    \u00a7

    impl<'a, T, A> UnwindSafe for Drain<'a, T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/struct.IntoIter.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/struct.IntoIter.html", "unified_diff": "@@ -1,216 +1,216 @@\n IntoIter in alloc::collections::vec_deque - Rust
    \n

    Struct alloc::collections::vec_deque::IntoIter

    1.0.0 \u00b7 source \u00b7
    pub struct IntoIter<T, A: Allocator = Global> { /* private fields */ }
    Expand description

    An owning iterator over the elements of a VecDeque.

    \n

    This struct is created by the into_iter method on VecDeque\n-(provided by the IntoIterator trait). See its documentation for more.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T: Clone, A: Clone + Allocator> Clone for IntoIter<T, A>

    source\u00a7

    fn clone(&self) -> IntoIter<T, A> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for IntoIter<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T, A: Allocator> DoubleEndedIterator for IntoIter<T, A>

    source\u00a7

    fn next_back(&mut self) -> Option<T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T, A: Allocator> ExactSizeIterator for IntoIter<T, A>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<T, A: Allocator> Iterator for IntoIter<T, A>

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+(provided by the IntoIterator trait). See its documentation for more.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T: Clone, A: Clone + Allocator> Clone for IntoIter<T, A>

    source\u00a7

    fn clone(&self) -> IntoIter<T, A> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for IntoIter<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T, A: Allocator> DoubleEndedIterator for IntoIter<T, A>

    source\u00a7

    fn next_back(&mut self) -> Option<T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T, A: Allocator> ExactSizeIterator for IntoIter<T, A>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<T, A: Allocator> Iterator for IntoIter<T, A>

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T, A: Allocator> FusedIterator for IntoIter<T, A>

    source\u00a7

    impl<T, A: Allocator> TrustedLen for IntoIter<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for IntoIter<T, A>
    where\n- A: Freeze,

    \u00a7

    impl<T, A> RefUnwindSafe for IntoIter<T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<T, A> Send for IntoIter<T, A>
    where\n- A: Send,\n- T: Send,

    \u00a7

    impl<T, A> Sync for IntoIter<T, A>
    where\n- A: Sync,\n- T: Sync,

    \u00a7

    impl<T, A> Unpin for IntoIter<T, A>
    where\n- A: Unpin,\n- T: Unpin,

    \u00a7

    impl<T, A> UnwindSafe for IntoIter<T, A>
    where\n- A: UnwindSafe,\n- T: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T, A: Allocator> FusedIterator for IntoIter<T, A>

    source\u00a7

    impl<T, A: Allocator> TrustedLen for IntoIter<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for IntoIter<T, A>
    where\n+ A: Freeze,

    \u00a7

    impl<T, A> RefUnwindSafe for IntoIter<T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<T, A> Send for IntoIter<T, A>
    where\n+ A: Send,\n+ T: Send,

    \u00a7

    impl<T, A> Sync for IntoIter<T, A>
    where\n+ A: Sync,\n+ T: Sync,

    \u00a7

    impl<T, A> Unpin for IntoIter<T, A>
    where\n+ A: Unpin,\n+ T: Unpin,

    \u00a7

    impl<T, A> UnwindSafe for IntoIter<T, A>
    where\n+ A: UnwindSafe,\n+ T: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/struct.Iter.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/struct.Iter.html", "unified_diff": "@@ -1,212 +1,212 @@\n Iter in alloc::collections::vec_deque - Rust
    \n

    Struct alloc::collections::vec_deque::Iter

    1.0.0 \u00b7 source \u00b7
    pub struct Iter<'a, T: 'a> { /* private fields */ }
    Expand description

    An iterator over the elements of a VecDeque.

    \n

    This struct is created by the iter method on super::VecDeque. See its\n documentation for more.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T> Clone for Iter<'_, T>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for Iter<'_, T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for Iter<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    source\u00a7

    fn rfold<Acc, F>(self, accum: Acc, f: F) -> Acc
    where\n- F: FnMut(Acc, Self::Item) -> Acc,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for Iter<'_, T>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, T> Iterator for Iter<'a, T>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn fold<Acc, F>(self, accum: Acc, f: F) -> Acc
    where\n- F: FnMut(Acc, Self::Item) -> Acc,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    source\u00a7

    fn last(self) -> Option<&'a T>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T> Clone for Iter<'_, T>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for Iter<'_, T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for Iter<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    source\u00a7

    fn rfold<Acc, F>(self, accum: Acc, f: F) -> Acc
    where\n+ F: FnMut(Acc, Self::Item) -> Acc,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for Iter<'_, T>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, T> Iterator for Iter<'a, T>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn fold<Acc, F>(self, accum: Acc, f: F) -> Acc
    where\n+ F: FnMut(Acc, Self::Item) -> Acc,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    source\u00a7

    fn last(self) -> Option<&'a T>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T> FusedIterator for Iter<'_, T>

    source\u00a7

    impl<T> TrustedLen for Iter<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for Iter<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for Iter<'a, T>
    where\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Send for Iter<'a, T>
    where\n- T: Sync,

    \u00a7

    impl<'a, T> Sync for Iter<'a, T>
    where\n- T: Sync,

    \u00a7

    impl<'a, T> Unpin for Iter<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for Iter<'a, T>
    where\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T> FusedIterator for Iter<'_, T>

    source\u00a7

    impl<T> TrustedLen for Iter<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for Iter<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for Iter<'a, T>
    where\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Send for Iter<'a, T>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T> Sync for Iter<'a, T>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T> Unpin for Iter<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for Iter<'a, T>
    where\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/struct.IterMut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/struct.IterMut.html", "unified_diff": "@@ -1,209 +1,209 @@\n IterMut in alloc::collections::vec_deque - Rust
    \n

    Struct alloc::collections::vec_deque::IterMut

    1.0.0 \u00b7 source \u00b7
    pub struct IterMut<'a, T: 'a> { /* private fields */ }
    Expand description

    A mutable iterator over the elements of a VecDeque.

    \n

    This struct is created by the iter_mut method on super::VecDeque. See its\n documentation for more.

    \n-

    Trait Implementations\u00a7

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for IterMut<'_, T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for IterMut<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a mut T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    source\u00a7

    fn rfold<Acc, F>(self, accum: Acc, f: F) -> Acc
    where\n- F: FnMut(Acc, Self::Item) -> Acc,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for IterMut<'_, T>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, T> Iterator for IterMut<'a, T>

    \u00a7

    type Item = &'a mut T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn fold<Acc, F>(self, accum: Acc, f: F) -> Acc
    where\n- F: FnMut(Acc, Self::Item) -> Acc,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    source\u00a7

    fn last(self) -> Option<&'a mut T>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for IterMut<'_, T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for IterMut<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a mut T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    source\u00a7

    fn rfold<Acc, F>(self, accum: Acc, f: F) -> Acc
    where\n+ F: FnMut(Acc, Self::Item) -> Acc,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for IterMut<'_, T>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, T> Iterator for IterMut<'a, T>

    \u00a7

    type Item = &'a mut T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn fold<Acc, F>(self, accum: Acc, f: F) -> Acc
    where\n+ F: FnMut(Acc, Self::Item) -> Acc,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    source\u00a7

    fn last(self) -> Option<&'a mut T>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T> FusedIterator for IterMut<'_, T>

    source\u00a7

    impl<T> TrustedLen for IterMut<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for IterMut<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for IterMut<'a, T>
    where\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Send for IterMut<'a, T>
    where\n- T: Send,

    \u00a7

    impl<'a, T> Sync for IterMut<'a, T>
    where\n- T: Sync,

    \u00a7

    impl<'a, T> Unpin for IterMut<'a, T>

    \u00a7

    impl<'a, T> !UnwindSafe for IterMut<'a, T>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T> FusedIterator for IterMut<'_, T>

    source\u00a7

    impl<T> TrustedLen for IterMut<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for IterMut<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for IterMut<'a, T>
    where\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Send for IterMut<'a, T>
    where\n+ T: Send,

    \u00a7

    impl<'a, T> Sync for IterMut<'a, T>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T> Unpin for IterMut<'a, T>

    \u00a7

    impl<'a, T> !UnwindSafe for IterMut<'a, T>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/struct.VecDeque.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/collections/vec_deque/struct.VecDeque.html", "unified_diff": "@@ -15,114 +15,114 @@\n so that its elements do not wrap, and returns a mutable slice to the\n now-contiguous element sequence.

    \n

    Implementations\u00a7

    source\u00a7

    impl<T> VecDeque<T>

    const: 1.68.0 \u00b7 source

    pub const fn new() -> VecDeque<T>

    Creates an empty deque.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let deque: VecDeque<u32> = VecDeque::new();
    Run
    \n-
    source

    pub fn with_capacity(capacity: usize) -> VecDeque<T>

    Creates an empty deque with space for at least capacity elements.

    \n+
    source

    pub fn with_capacity(capacity: usize) -> VecDeque<T>

    Creates an empty deque with space for at least capacity elements.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let deque: VecDeque<u32> = VecDeque::with_capacity(10);
    Run
    \n
    source

    pub fn try_with_capacity(\n- capacity: usize\n-) -> Result<VecDeque<T>, TryReserveError>

    \ud83d\udd2cThis is a nightly-only experimental API. (try_with_capacity #91913)

    Creates an empty deque with space for at least capacity elements.

    \n+ capacity: usize\n+) -> Result<VecDeque<T>, TryReserveError>
    \ud83d\udd2cThis is a nightly-only experimental API. (try_with_capacity #91913)

    Creates an empty deque with space for at least capacity elements.

    \n
    \u00a7Errors
    \n

    Returns an error if the capacity exceeds isize::MAX bytes,\n or if the allocator reports allocation failure.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let deque: VecDeque<u32> = VecDeque::try_with_capacity(10)?;
    Run
    \n
    source\u00a7

    impl<T, A: Allocator> VecDeque<T, A>

    source

    pub const fn new_in(alloc: A) -> VecDeque<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Creates an empty deque.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let deque: VecDeque<u32> = VecDeque::new();
    Run
    \n-
    source

    pub fn with_capacity_in(capacity: usize, alloc: A) -> VecDeque<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Creates an empty deque with space for at least capacity elements.

    \n+
    source

    pub fn with_capacity_in(capacity: usize, alloc: A) -> VecDeque<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Creates an empty deque with space for at least capacity elements.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let deque: VecDeque<u32> = VecDeque::with_capacity(10);
    Run
    \n-
    source

    pub fn get(&self, index: usize) -> Option<&T>

    Provides a reference to the element at the given index.

    \n+
    source

    pub fn get(&self, index: usize) -> Option<&T>

    Provides a reference to the element at the given index.

    \n

    Element at index 0 is the front of the queue.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut buf = VecDeque::new();\n buf.push_back(3);\n buf.push_back(4);\n buf.push_back(5);\n buf.push_back(6);\n assert_eq!(buf.get(1), Some(&4));
    Run
    \n-
    source

    pub fn get_mut(&mut self, index: usize) -> Option<&mut T>

    Provides a mutable reference to the element at the given index.

    \n+
    source

    pub fn get_mut(&mut self, index: usize) -> Option<&mut T>

    Provides a mutable reference to the element at the given index.

    \n

    Element at index 0 is the front of the queue.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut buf = VecDeque::new();\n buf.push_back(3);\n buf.push_back(4);\n buf.push_back(5);\n buf.push_back(6);\n assert_eq!(buf[1], 4);\n if let Some(elem) = buf.get_mut(1) {\n     *elem = 7;\n }\n assert_eq!(buf[1], 7);
    Run
    \n-
    source

    pub fn swap(&mut self, i: usize, j: usize)

    Swaps elements at indices i and j.

    \n+
    source

    pub fn swap(&mut self, i: usize, j: usize)

    Swaps elements at indices i and j.

    \n

    i and j may be equal.

    \n

    Element at index 0 is the front of the queue.

    \n
    \u00a7Panics
    \n

    Panics if either index is out of bounds.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut buf = VecDeque::new();\n buf.push_back(3);\n buf.push_back(4);\n buf.push_back(5);\n assert_eq!(buf, [3, 4, 5]);\n buf.swap(0, 2);\n assert_eq!(buf, [5, 4, 3]);
    Run
    \n-
    source

    pub fn capacity(&self) -> usize

    Returns the number of elements the deque can hold without\n+

    source

    pub fn capacity(&self) -> usize

    Returns the number of elements the deque can hold without\n reallocating.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let buf: VecDeque<i32> = VecDeque::with_capacity(10);\n assert!(buf.capacity() >= 10);
    Run
    \n-
    source

    pub fn reserve_exact(&mut self, additional: usize)

    Reserves the minimum capacity for at least additional more elements to be inserted in the\n+

    source

    pub fn reserve_exact(&mut self, additional: usize)

    Reserves the minimum capacity for at least additional more elements to be inserted in the\n given deque. Does nothing if the capacity is already sufficient.

    \n

    Note that the allocator may give the collection more space than it requests. Therefore\n capacity can not be relied upon to be precisely minimal. Prefer reserve if future\n insertions are expected.

    \n
    \u00a7Panics
    \n

    Panics if the new capacity overflows usize.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut buf: VecDeque<i32> = [1].into();\n buf.reserve_exact(10);\n assert!(buf.capacity() >= 11);
    Run
    \n-
    source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional more elements to be inserted in the given\n+

    source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional more elements to be inserted in the given\n deque. The collection may reserve more space to speculatively avoid frequent reallocations.

    \n
    \u00a7Panics
    \n

    Panics if the new capacity overflows usize.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut buf: VecDeque<i32> = [1].into();\n buf.reserve(10);\n assert!(buf.capacity() >= 11);
    Run
    \n
    1.57.0 \u00b7 source

    pub fn try_reserve_exact(\n &mut self,\n- additional: usize\n-) -> Result<(), TryReserveError>

    Tries to reserve the minimum capacity for at least additional more elements to\n+ additional: usize\n+) -> Result<(), TryReserveError>

    Tries to reserve the minimum capacity for at least additional more elements to\n be inserted in the given deque. After calling try_reserve_exact,\n capacity will be greater than or equal to self.len() + additional if\n it returns Ok(()). Does nothing if the capacity is already sufficient.

    \n

    Note that the allocator may give the collection more space than it\n requests. Therefore, capacity can not be relied upon to be precisely\n minimal. Prefer try_reserve if future insertions are expected.

    \n
    \u00a7Errors
    \n@@ -141,15 +141,15 @@\n // Now we know this can't OOM(Out-Of-Memory) in the middle of our complex work\n output.extend(data.iter().map(|&val| {\n val * 2 + 5 // very complicated\n }));\n \n Ok(output)\n }
    Run
    \n-
    1.57.0 \u00b7 source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional more elements to be inserted\n+

    1.57.0 \u00b7 source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional more elements to be inserted\n in the given deque. The collection may reserve more space to speculatively avoid\n frequent reallocations. After calling try_reserve, capacity will be\n greater than or equal to self.len() + additional if it returns\n Ok(()). Does nothing if capacity is already sufficient. This method\n preserves the contents even if an error occurs.

    \n
    \u00a7Errors
    \n

    If the capacity overflows usize, or the allocator reports a failure, then an error\n@@ -178,43 +178,43 @@\n

    use std::collections::VecDeque;\n \n let mut buf = VecDeque::with_capacity(15);\n buf.extend(0..4);\n assert_eq!(buf.capacity(), 15);\n buf.shrink_to_fit();\n assert!(buf.capacity() >= 4);
    Run
    \n-
    1.56.0 \u00b7 source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of the deque with a lower bound.

    \n+
    1.56.0 \u00b7 source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of the deque with a lower bound.

    \n

    The capacity will remain at least as large as both the length\n and the supplied value.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut buf = VecDeque::with_capacity(15);\n buf.extend(0..4);\n assert_eq!(buf.capacity(), 15);\n buf.shrink_to(6);\n assert!(buf.capacity() >= 6);\n buf.shrink_to(0);\n assert!(buf.capacity() >= 4);
    Run
    \n-
    1.16.0 \u00b7 source

    pub fn truncate(&mut self, len: usize)

    Shortens the deque, keeping the first len elements and dropping\n+

    1.16.0 \u00b7 source

    pub fn truncate(&mut self, len: usize)

    Shortens the deque, keeping the first len elements and dropping\n the rest.

    \n

    If len is greater or equal to the deque\u2019s current length, this has\n no effect.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut buf = VecDeque::new();\n buf.push_back(5);\n buf.push_back(10);\n buf.push_back(15);\n assert_eq!(buf, [5, 10, 15]);\n buf.truncate(1);\n assert_eq!(buf, [5]);
    Run
    \n-
    source

    pub fn allocator(&self) -> &A

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Returns a reference to the underlying allocator.

    \n+
    source

    pub fn allocator(&self) -> &A

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Returns a reference to the underlying allocator.

    \n
    source

    pub fn iter(&self) -> Iter<'_, T> \u24d8

    Returns a front-to-back iterator.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut buf = VecDeque::new();\n buf.push_back(5);\n buf.push_back(3);\n@@ -231,15 +231,15 @@\n buf.push_back(3);\n buf.push_back(4);\n for num in buf.iter_mut() {\n     *num = *num - 2;\n }\n let b: &[_] = &[&mut 3, &mut 1, &mut 2];\n assert_eq!(&buf.iter_mut().collect::<Vec<&mut i32>>()[..], b);
    Run
    \n-
    1.5.0 \u00b7 source

    pub fn as_slices(&self) -> (&[T], &[T])

    Returns a pair of slices which contain, in order, the contents of the\n+

    1.5.0 \u00b7 source

    pub fn as_slices(&self) -> (&[T], &[T])

    Returns a pair of slices which contain, in order, the contents of the\n deque.

    \n

    If make_contiguous was previously called, all elements of the\n deque will be in the first slice and the second slice will be empty.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut deque = VecDeque::new();\n@@ -250,15 +250,15 @@\n \n assert_eq!(deque.as_slices(), (&[0, 1, 2][..], &[][..]));\n \n deque.push_front(10);\n deque.push_front(9);\n \n assert_eq!(deque.as_slices(), (&[9, 10][..], &[0, 1, 2][..]));
    Run
    \n-
    1.5.0 \u00b7 source

    pub fn as_mut_slices(&mut self) -> (&mut [T], &mut [T])

    Returns a pair of slices which contain, in order, the contents of the\n+

    1.5.0 \u00b7 source

    pub fn as_mut_slices(&mut self) -> (&mut [T], &mut [T])

    Returns a pair of slices which contain, in order, the contents of the\n deque.

    \n

    If make_contiguous was previously called, all elements of the\n deque will be in the first slice and the second slice will be empty.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut deque = VecDeque::new();\n@@ -268,47 +268,47 @@\n \n deque.push_front(10);\n deque.push_front(9);\n \n deque.as_mut_slices().0[0] = 42;\n deque.as_mut_slices().1[0] = 24;\n assert_eq!(deque.as_slices(), (&[42, 10][..], &[24, 1][..]));
    Run
    \n-
    source

    pub fn len(&self) -> usize

    Returns the number of elements in the deque.

    \n+
    source

    pub fn len(&self) -> usize

    Returns the number of elements in the deque.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut deque = VecDeque::new();\n assert_eq!(deque.len(), 0);\n deque.push_back(1);\n assert_eq!(deque.len(), 1);
    Run
    \n-
    source

    pub fn is_empty(&self) -> bool

    Returns true if the deque is empty.

    \n+
    source

    pub fn is_empty(&self) -> bool

    Returns true if the deque is empty.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut deque = VecDeque::new();\n assert!(deque.is_empty());\n deque.push_front(1);\n assert!(!deque.is_empty());
    Run
    \n
    1.51.0 \u00b7 source

    pub fn range<R>(&self, range: R) -> Iter<'_, T> \u24d8
    where\n- R: RangeBounds<usize>,

    Creates an iterator that covers the specified range in the deque.

    \n+ R: RangeBounds<usize>,

    Creates an iterator that covers the specified range in the deque.

    \n
    \u00a7Panics
    \n

    Panics if the starting point is greater than the end point or if\n the end point is greater than the length of the deque.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let deque: VecDeque<_> = [1, 2, 3].into();\n let range = deque.range(2..).copied().collect::<VecDeque<_>>();\n assert_eq!(range, [3]);\n \n // A full range covers all contents\n let all = deque.range(..);\n assert_eq!(all.len(), 3);
    Run
    \n
    1.51.0 \u00b7 source

    pub fn range_mut<R>(&mut self, range: R) -> IterMut<'_, T> \u24d8
    where\n- R: RangeBounds<usize>,

    Creates an iterator that covers the specified mutable range in the deque.

    \n+ R: RangeBounds<usize>,

    Creates an iterator that covers the specified mutable range in the deque.

    \n
    \u00a7Panics
    \n

    Panics if the starting point is greater than the end point or if\n the end point is greater than the length of the deque.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut deque: VecDeque<_> = [1, 2, 3].into();\n@@ -319,25 +319,25 @@\n \n // A full range covers all contents\n for v in deque.range_mut(..) {\n   *v *= 2;\n }\n assert_eq!(deque, [2, 4, 12]);
    Run
    \n
    1.6.0 \u00b7 source

    pub fn drain<R>(&mut self, range: R) -> Drain<'_, T, A> \u24d8
    where\n- R: RangeBounds<usize>,

    Removes the specified range from the deque in bulk, returning all\n+ R: RangeBounds<usize>,

    Removes the specified range from the deque in bulk, returning all\n removed elements as an iterator. If the iterator is dropped before\n being fully consumed, it drops the remaining removed elements.

    \n

    The returned iterator keeps a mutable borrow on the queue to optimize\n its implementation.

    \n
    \u00a7Panics
    \n

    Panics if the starting point is greater than the end point or if\n the end point is greater than the length of the deque.

    \n
    \u00a7Leaking
    \n

    If the returned iterator goes out of scope without being dropped (due to\n-mem::forget, for example), the deque may have lost and leaked\n+mem::forget, for example), the deque may have lost and leaked\n elements arbitrarily, including elements outside the range.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut deque: VecDeque<_> = [1, 2, 3].into();\n let drained = deque.drain(2..).collect::<VecDeque<_>>();\n assert_eq!(drained, [3]);\n@@ -350,94 +350,94 @@\n 
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut deque = VecDeque::new();\n deque.push_back(1);\n deque.clear();\n assert!(deque.is_empty());
    Run
    \n-
    1.12.0 \u00b7 source

    pub fn contains(&self, x: &T) -> bool
    where\n- T: PartialEq<T>,

    Returns true if the deque contains an element equal to the\n+

    1.12.0 \u00b7 source

    pub fn contains(&self, x: &T) -> bool
    where\n+ T: PartialEq<T>,

    Returns true if the deque contains an element equal to the\n given value.

    \n

    This operation is O(n).

    \n

    Note that if you have a sorted VecDeque, binary_search may be faster.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut deque: VecDeque<u32> = VecDeque::new();\n \n deque.push_back(0);\n deque.push_back(1);\n \n assert_eq!(deque.contains(&1), true);\n assert_eq!(deque.contains(&10), false);
    Run
    \n-
    source

    pub fn front(&self) -> Option<&T>

    Provides a reference to the front element, or None if the deque is\n+

    source

    pub fn front(&self) -> Option<&T>

    Provides a reference to the front element, or None if the deque is\n empty.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut d = VecDeque::new();\n assert_eq!(d.front(), None);\n \n d.push_back(1);\n d.push_back(2);\n assert_eq!(d.front(), Some(&1));
    Run
    \n-
    source

    pub fn front_mut(&mut self) -> Option<&mut T>

    Provides a mutable reference to the front element, or None if the\n+

    source

    pub fn front_mut(&mut self) -> Option<&mut T>

    Provides a mutable reference to the front element, or None if the\n deque is empty.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut d = VecDeque::new();\n assert_eq!(d.front_mut(), None);\n \n d.push_back(1);\n d.push_back(2);\n match d.front_mut() {\n     Some(x) => *x = 9,\n     None => (),\n }\n assert_eq!(d.front(), Some(&9));
    Run
    \n-
    source

    pub fn back(&self) -> Option<&T>

    Provides a reference to the back element, or None if the deque is\n+

    source

    pub fn back(&self) -> Option<&T>

    Provides a reference to the back element, or None if the deque is\n empty.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut d = VecDeque::new();\n assert_eq!(d.back(), None);\n \n d.push_back(1);\n d.push_back(2);\n assert_eq!(d.back(), Some(&2));
    Run
    \n-
    source

    pub fn back_mut(&mut self) -> Option<&mut T>

    Provides a mutable reference to the back element, or None if the\n+

    source

    pub fn back_mut(&mut self) -> Option<&mut T>

    Provides a mutable reference to the back element, or None if the\n deque is empty.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut d = VecDeque::new();\n assert_eq!(d.back(), None);\n \n d.push_back(1);\n d.push_back(2);\n match d.back_mut() {\n     Some(x) => *x = 9,\n     None => (),\n }\n assert_eq!(d.back(), Some(&9));
    Run
    \n-
    source

    pub fn pop_front(&mut self) -> Option<T>

    Removes the first element and returns it, or None if the deque is\n+

    source

    pub fn pop_front(&mut self) -> Option<T>

    Removes the first element and returns it, or None if the deque is\n empty.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut d = VecDeque::new();\n d.push_back(1);\n d.push_back(2);\n \n assert_eq!(d.pop_front(), Some(1));\n assert_eq!(d.pop_front(), Some(2));\n assert_eq!(d.pop_front(), None);
    Run
    \n-
    source

    pub fn pop_back(&mut self) -> Option<T>

    Removes the last element from the deque and returns it, or None if\n+

    source

    pub fn pop_back(&mut self) -> Option<T>

    Removes the last element from the deque and returns it, or None if\n it is empty.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut buf = VecDeque::new();\n assert_eq!(buf.pop_back(), None);\n buf.push_back(1);\n@@ -455,15 +455,15 @@\n 
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut buf = VecDeque::new();\n buf.push_back(1);\n buf.push_back(3);\n assert_eq!(3, *buf.back().unwrap());
    Run
    \n-
    1.5.0 \u00b7 source

    pub fn swap_remove_front(&mut self, index: usize) -> Option<T>

    Removes an element from anywhere in the deque and returns it,\n+

    1.5.0 \u00b7 source

    pub fn swap_remove_front(&mut self, index: usize) -> Option<T>

    Removes an element from anywhere in the deque and returns it,\n replacing it with the first element.

    \n

    This does not preserve ordering, but is O(1).

    \n

    Returns None if index is out of bounds.

    \n

    Element at index 0 is the front of the queue.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n@@ -472,15 +472,15 @@\n buf.push_back(1);\n buf.push_back(2);\n buf.push_back(3);\n assert_eq!(buf, [1, 2, 3]);\n \n assert_eq!(buf.swap_remove_front(2), Some(3));\n assert_eq!(buf, [2, 1]);
    Run
    \n-
    1.5.0 \u00b7 source

    pub fn swap_remove_back(&mut self, index: usize) -> Option<T>

    Removes an element from anywhere in the deque and returns it,\n+

    1.5.0 \u00b7 source

    pub fn swap_remove_back(&mut self, index: usize) -> Option<T>

    Removes an element from anywhere in the deque and returns it,\n replacing it with the last element.

    \n

    This does not preserve ordering, but is O(1).

    \n

    Returns None if index is out of bounds.

    \n

    Element at index 0 is the front of the queue.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n@@ -489,15 +489,15 @@\n buf.push_back(1);\n buf.push_back(2);\n buf.push_back(3);\n assert_eq!(buf, [1, 2, 3]);\n \n assert_eq!(buf.swap_remove_back(0), Some(1));\n assert_eq!(buf, [3, 2]);
    Run
    \n-
    1.5.0 \u00b7 source

    pub fn insert(&mut self, index: usize, value: T)

    Inserts an element at index within the deque, shifting all elements\n+

    1.5.0 \u00b7 source

    pub fn insert(&mut self, index: usize, value: T)

    Inserts an element at index within the deque, shifting all elements\n with indices greater than or equal to index towards the back.

    \n

    Element at index 0 is the front of the queue.

    \n
    \u00a7Panics
    \n

    Panics if index is greater than deque\u2019s length

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n@@ -505,15 +505,15 @@\n vec_deque.push_back('a');\n vec_deque.push_back('b');\n vec_deque.push_back('c');\n assert_eq!(vec_deque, &['a', 'b', 'c']);\n \n vec_deque.insert(1, 'd');\n assert_eq!(vec_deque, &['a', 'd', 'b', 'c']);
    Run
    \n-
    source

    pub fn remove(&mut self, index: usize) -> Option<T>

    Removes and returns the element at index from the deque.\n+

    source

    pub fn remove(&mut self, index: usize) -> Option<T>

    Removes and returns the element at index from the deque.\n Whichever end is closer to the removal point will be moved to make\n room, and all the affected elements will be moved to new positions.\n Returns None if index is out of bounds.

    \n

    Element at index 0 is the front of the queue.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n@@ -521,42 +521,42 @@\n buf.push_back(1);\n buf.push_back(2);\n buf.push_back(3);\n assert_eq!(buf, [1, 2, 3]);\n \n assert_eq!(buf.remove(1), Some(2));\n assert_eq!(buf, [1, 3]);
    Run
    \n-
    1.4.0 \u00b7 source

    pub fn split_off(&mut self, at: usize) -> Self
    where\n- A: Clone,

    Splits the deque into two at the given index.

    \n+
    1.4.0 \u00b7 source

    pub fn split_off(&mut self, at: usize) -> Self
    where\n+ A: Clone,

    Splits the deque into two at the given index.

    \n

    Returns a newly allocated VecDeque. self contains elements [0, at),\n and the returned deque contains elements [at, len).

    \n

    Note that the capacity of self does not change.

    \n

    Element at index 0 is the front of the queue.

    \n
    \u00a7Panics
    \n

    Panics if at > len.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut buf: VecDeque<_> = [1, 2, 3].into();\n let buf2 = buf.split_off(1);\n assert_eq!(buf, [1]);\n assert_eq!(buf2, [2, 3]);
    Run
    \n-
    1.4.0 \u00b7 source

    pub fn append(&mut self, other: &mut Self)

    Moves all the elements of other into self, leaving other empty.

    \n+
    1.4.0 \u00b7 source

    pub fn append(&mut self, other: &mut Self)

    Moves all the elements of other into self, leaving other empty.

    \n
    \u00a7Panics
    \n

    Panics if the new number of elements in self overflows a usize.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut buf: VecDeque<_> = [1, 2].into();\n let mut buf2: VecDeque<_> = [3, 4].into();\n buf.append(&mut buf2);\n assert_eq!(buf, [1, 2, 3, 4]);\n assert_eq!(buf2, []);
    Run
    \n
    1.4.0 \u00b7 source

    pub fn retain<F>(&mut self, f: F)
    where\n- F: FnMut(&T) -> bool,

    Retains only the elements specified by the predicate.

    \n+ F: FnMut(&T) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all elements e for which f(&e) returns false.\n This method operates in place, visiting each element exactly once in the\n original order, and preserves the order of the retained elements.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut buf = VecDeque::new();\n@@ -572,15 +572,15 @@\n buf.extend(1..6);\n \n let keep = [false, true, true, false, true];\n let mut iter = keep.iter();\n buf.retain(|_| *iter.next().unwrap());\n assert_eq!(buf, [2, 3, 5]);
    Run
    \n
    1.61.0 \u00b7 source

    pub fn retain_mut<F>(&mut self, f: F)
    where\n- F: FnMut(&mut T) -> bool,

    Retains only the elements specified by the predicate.

    \n+ F: FnMut(&mut T) -> bool,

    Retains only the elements specified by the predicate.

    \n

    In other words, remove all elements e for which f(&e) returns false.\n This method operates in place, visiting each element exactly once in the\n original order, and preserves the order of the retained elements.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut buf = VecDeque::new();\n@@ -588,15 +588,15 @@\n buf.retain_mut(|x| if *x % 2 == 0 {\n     *x += 1;\n     true\n } else {\n     false\n });\n assert_eq!(buf, [3, 5]);
    Run
    \n-
    1.33.0 \u00b7 source

    pub fn resize_with(&mut self, new_len: usize, generator: impl FnMut() -> T)

    Modifies the deque in-place so that len() is equal to new_len,\n+

    1.33.0 \u00b7 source

    pub fn resize_with(&mut self, new_len: usize, generator: impl FnMut() -> T)

    Modifies the deque in-place so that len() is equal to new_len,\n either by removing excess elements from the back or by appending\n elements generated by calling generator to the back.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut buf = VecDeque::new();\n buf.push_back(5);\n@@ -609,15 +609,15 @@\n \n buf.resize_with(2, || unreachable!());\n assert_eq!(buf, [5, 10]);\n \n let mut state = 100;\n buf.resize_with(5, || { state += 1; state });\n assert_eq!(buf, [5, 10, 101, 102, 103]);
    Run
    \n-
    1.48.0 \u00b7 source

    pub fn make_contiguous(&mut self) -> &mut [T]

    Rearranges the internal storage of this deque so it is one contiguous\n+

    1.48.0 \u00b7 source

    pub fn make_contiguous(&mut self) -> &mut [T]

    Rearranges the internal storage of this deque so it is one contiguous\n slice, which is then returned.

    \n

    This method does not allocate and does not change the order of the\n inserted elements. As it returns a mutable slice, this can be used to\n sort a deque.

    \n

    Once the internal storage is contiguous, the as_slices and\n as_mut_slices methods will return the entire contents of the\n deque in a single slice.

    \n@@ -652,15 +652,15 @@\n buf.make_contiguous();\n if let (slice, &[]) = buf.as_slices() {\n // we can now be sure that `slice` contains all elements of the deque,\n // while still having immutable access to `buf`.\n assert_eq!(buf.len(), slice.len());\n assert_eq!(slice, &[3, 2, 1] as &[_]);\n }
    Run
    \n-
    1.36.0 \u00b7 source

    pub fn rotate_left(&mut self, n: usize)

    Rotates the double-ended queue n places to the left.

    \n+
    1.36.0 \u00b7 source

    pub fn rotate_left(&mut self, n: usize)

    Rotates the double-ended queue n places to the left.

    \n

    Equivalently,

    \n
      \n
    • Rotates item n into the first position.
    • \n
    • Pops the first n items and pushes them to the end.
    • \n
    • Rotates len() - n places to the right.
    • \n
    \n
    \u00a7Panics
    \n@@ -677,15 +677,15 @@\n assert_eq!(buf, [3, 4, 5, 6, 7, 8, 9, 0, 1, 2]);\n \n for i in 1..10 {\n assert_eq!(i * 3 % 10, buf[0]);\n buf.rotate_left(3);\n }\n assert_eq!(buf, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]);
    Run
    \n-
    1.36.0 \u00b7 source

    pub fn rotate_right(&mut self, n: usize)

    Rotates the double-ended queue n places to the right.

    \n+
    1.36.0 \u00b7 source

    pub fn rotate_right(&mut self, n: usize)

    Rotates the double-ended queue n places to the right.

    \n

    Equivalently,

    \n
      \n
    • Rotates the first item into position n.
    • \n
    • Pops the last n items and pushes them to the front.
    • \n
    • Rotates len() - n places to the left.
    • \n
    \n
    \u00a7Panics
    \n@@ -702,22 +702,22 @@\n assert_eq!(buf, [7, 8, 9, 0, 1, 2, 3, 4, 5, 6]);\n \n for i in 1..10 {\n assert_eq!(0, buf[i * 3 % 10]);\n buf.rotate_right(3);\n }\n assert_eq!(buf, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]);Run
    \n-
    1.54.0 \u00b7 source

    pub fn binary_search(&self, x: &T) -> Result<usize, usize>
    where\n- T: Ord,

    Binary searches this VecDeque for a given element.\n+

    1.54.0 \u00b7 source

    pub fn binary_search(&self, x: &T) -> Result<usize, usize>
    where\n+ T: Ord,

    Binary searches this VecDeque for a given element.\n If the VecDeque is not sorted, the returned result is unspecified and\n meaningless.

    \n-

    If the value is found then Result::Ok is returned, containing the\n+

    If the value is found then Result::Ok is returned, containing the\n index of the matching element. If there are multiple matches, then any\n one of the matches could be returned. If the value is not found then\n-Result::Err is returned, containing the index where a matching\n+Result::Err is returned, containing the index where a matching\n element could be inserted while maintaining sorted order.

    \n

    See also binary_search_by, binary_search_by_key, and partition_point.

    \n
    \u00a7Examples
    \n

    Looks up a series of four elements. The first is found, with a\n uniquely determined position; the second and third are not\n found; the fourth could match any position in [1, 4].

    \n \n@@ -737,26 +737,26 @@\n \n let mut deque: VecDeque<_> = [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55].into();\n let num = 42;\n let idx = deque.partition_point(|&x| x < num);\n // The above is equivalent to `let idx = deque.binary_search(&num).unwrap_or_else(|x| x);`\n deque.insert(idx, num);\n assert_eq!(deque, &[0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 42, 55]);Run
    \n-
    1.54.0 \u00b7 source

    pub fn binary_search_by<'a, F>(&'a self, f: F) -> Result<usize, usize>
    where\n- F: FnMut(&'a T) -> Ordering,

    Binary searches this VecDeque with a comparator function.

    \n+
    1.54.0 \u00b7 source

    pub fn binary_search_by<'a, F>(&'a self, f: F) -> Result<usize, usize>
    where\n+ F: FnMut(&'a T) -> Ordering,

    Binary searches this VecDeque with a comparator function.

    \n

    The comparator function should return an order code that indicates\n whether its argument is Less, Equal or Greater the desired\n target.\n If the VecDeque is not sorted or if the comparator function does not\n implement an order consistent with the sort order of the underlying\n VecDeque, the returned result is unspecified and meaningless.

    \n-

    If the value is found then Result::Ok is returned, containing the\n+

    If the value is found then Result::Ok is returned, containing the\n index of the matching element. If there are multiple matches, then any\n one of the matches could be returned. If the value is not found then\n-Result::Err is returned, containing the index where a matching\n+Result::Err is returned, containing the index where a matching\n element could be inserted while maintaining sorted order.

    \n

    See also binary_search, binary_search_by_key, and partition_point.

    \n
    \u00a7Examples
    \n

    Looks up a series of four elements. The first is found, with a\n uniquely determined position; the second and third are not\n found; the fourth could match any position in [1, 4].

    \n \n@@ -767,27 +767,27 @@\n assert_eq!(deque.binary_search_by(|x| x.cmp(&13)), Ok(9));\n assert_eq!(deque.binary_search_by(|x| x.cmp(&4)), Err(7));\n assert_eq!(deque.binary_search_by(|x| x.cmp(&100)), Err(13));\n let r = deque.binary_search_by(|x| x.cmp(&1));\n assert!(matches!(r, Ok(1..=4)));Run
    \n
    1.54.0 \u00b7 source

    pub fn binary_search_by_key<'a, B, F>(\n &'a self,\n- b: &B,\n+ b: &B,\n f: F\n-) -> Result<usize, usize>
    where\n- F: FnMut(&'a T) -> B,\n- B: Ord,

    Binary searches this VecDeque with a key extraction function.

    \n+) -> Result<usize, usize>
    where\n+ F: FnMut(&'a T) -> B,\n+ B: Ord,

    Binary searches this VecDeque with a key extraction function.

    \n

    Assumes that the deque is sorted by the key, for instance with\n make_contiguous().sort_by_key() using the same key extraction function.\n If the deque is not sorted by the key, the returned result is\n unspecified and meaningless.

    \n-

    If the value is found then Result::Ok is returned, containing the\n+

    If the value is found then Result::Ok is returned, containing the\n index of the matching element. If there are multiple matches, then any\n one of the matches could be returned. If the value is not found then\n-Result::Err is returned, containing the index where a matching\n+Result::Err is returned, containing the index where a matching\n element could be inserted while maintaining sorted order.

    \n

    See also binary_search, binary_search_by, and partition_point.

    \n
    \u00a7Examples
    \n

    Looks up a series of four elements in a slice of pairs sorted by\n their second elements. The first is found, with a uniquely\n determined position; the second and third are not found; the\n fourth could match any position in [1, 4].

    \n@@ -799,16 +799,16 @@\n (1, 21), (2, 34), (4, 55)].into();\n \n assert_eq!(deque.binary_search_by_key(&13, |&(a, b)| b), Ok(9));\n assert_eq!(deque.binary_search_by_key(&4, |&(a, b)| b), Err(7));\n assert_eq!(deque.binary_search_by_key(&100, |&(a, b)| b), Err(13));\n let r = deque.binary_search_by_key(&1, |&(a, b)| b);\n assert!(matches!(r, Ok(1..=4)));Run
    \n-
    1.54.0 \u00b7 source

    pub fn partition_point<P>(&self, pred: P) -> usize
    where\n- P: FnMut(&T) -> bool,

    Returns the index of the partition point according to the given predicate\n+

    1.54.0 \u00b7 source

    pub fn partition_point<P>(&self, pred: P) -> usize
    where\n+ P: FnMut(&T) -> bool,

    Returns the index of the partition point according to the given predicate\n (the index of the first element of the second partition).

    \n

    The deque is assumed to be partitioned according to the given predicate.\n This means that all elements for which the predicate returns true are at the start of the deque\n and all elements for which the predicate returns false are at the end.\n For example, [7, 15, 3, 5, 4, 12, 6] is partitioned under the predicate x % 2 != 0\n (all odd numbers are at the start, all even at the end).

    \n

    If the deque is not partitioned, the returned result is unspecified and meaningless,\n@@ -829,15 +829,15 @@\n

    use std::collections::VecDeque;\n \n let mut deque: VecDeque<_> = [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55].into();\n let num = 42;\n let idx = deque.partition_point(|&x| x < num);\n deque.insert(idx, num);\n assert_eq!(deque, &[0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 42, 55]);
    Run
    \n-
    source\u00a7

    impl<T: Clone, A: Allocator> VecDeque<T, A>

    1.16.0 \u00b7 source

    pub fn resize(&mut self, new_len: usize, value: T)

    Modifies the deque in-place so that len() is equal to new_len,\n+

    source\u00a7

    impl<T: Clone, A: Allocator> VecDeque<T, A>

    1.16.0 \u00b7 source

    pub fn resize(&mut self, new_len: usize, value: T)

    Modifies the deque in-place so that len() is equal to new_len,\n either by removing excess elements from the back or by appending clones of value\n to the back.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n let mut buf = VecDeque::new();\n buf.push_back(5);\n@@ -846,27 +846,27 @@\n assert_eq!(buf, [5, 10, 15]);\n \n buf.resize(2, 0);\n assert_eq!(buf, [5, 10]);\n \n buf.resize(5, 20);\n assert_eq!(buf, [5, 10, 20, 20, 20]);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T: Clone, A: Allocator + Clone> Clone for VecDeque<T, A>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, other: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<T: Debug, A: Allocator> Debug for VecDeque<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T> Default for VecDeque<T>

    source\u00a7

    fn default() -> VecDeque<T>

    Creates an empty deque.

    \n-
    source\u00a7

    impl<T, A: Allocator> Drop for VecDeque<T, A>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    1.2.0 \u00b7 source\u00a7

    impl<'a, T: 'a + Copy, A: Allocator> Extend<&'a T> for VecDeque<T, A>

    source\u00a7

    fn extend<I: IntoIterator<Item = &'a T>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, elem: &'a T)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    source\u00a7

    impl<T, A: Allocator> Extend<T> for VecDeque<T, A>

    source\u00a7

    fn extend<I: IntoIterator<Item = T>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, elem: T)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    1.56.0 \u00b7 source\u00a7

    impl<T, const N: usize> From<[T; N]> for VecDeque<T>

    source\u00a7

    fn from(arr: [T; N]) -> Self

    Converts a [T; N] into a VecDeque<T>.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T: Clone, A: Allocator + Clone> Clone for VecDeque<T, A>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, other: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<T: Debug, A: Allocator> Debug for VecDeque<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T> Default for VecDeque<T>

    source\u00a7

    fn default() -> VecDeque<T>

    Creates an empty deque.

    \n+
    source\u00a7

    impl<T, A: Allocator> Drop for VecDeque<T, A>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    1.2.0 \u00b7 source\u00a7

    impl<'a, T: 'a + Copy, A: Allocator> Extend<&'a T> for VecDeque<T, A>

    source\u00a7

    fn extend<I: IntoIterator<Item = &'a T>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, elem: &'a T)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    source\u00a7

    impl<T, A: Allocator> Extend<T> for VecDeque<T, A>

    source\u00a7

    fn extend<I: IntoIterator<Item = T>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, elem: T)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    1.56.0 \u00b7 source\u00a7

    impl<T, const N: usize> From<[T; N]> for VecDeque<T>

    source\u00a7

    fn from(arr: [T; N]) -> Self

    Converts a [T; N] into a VecDeque<T>.

    \n \n
    use std::collections::VecDeque;\n \n let deq1 = VecDeque::from([1, 2, 3, 4]);\n let deq2: VecDeque<_> = [1, 2, 3, 4].into();\n assert_eq!(deq1, deq2);
    Run
    \n-
    1.10.0 \u00b7 source\u00a7

    impl<T, A: Allocator> From<Vec<T, A>> for VecDeque<T, A>

    source\u00a7

    fn from(other: Vec<T, A>) -> Self

    Turn a Vec<T> into a VecDeque<T>.

    \n+
    1.10.0 \u00b7 source\u00a7

    impl<T, A: Allocator> From<Vec<T, A>> for VecDeque<T, A>

    source\u00a7

    fn from(other: Vec<T, A>) -> Self

    Turn a Vec<T> into a VecDeque<T>.

    \n

    This conversion is guaranteed to run in O(1) time\n and to not re-allocate the Vec\u2019s buffer or allocate\n any additional memory.

    \n-
    1.10.0 \u00b7 source\u00a7

    impl<T, A: Allocator> From<VecDeque<T, A>> for Vec<T, A>

    source\u00a7

    fn from(other: VecDeque<T, A>) -> Self

    Turn a VecDeque<T> into a Vec<T>.

    \n+
    1.10.0 \u00b7 source\u00a7

    impl<T, A: Allocator> From<VecDeque<T, A>> for Vec<T, A>

    source\u00a7

    fn from(other: VecDeque<T, A>) -> Self

    Turn a VecDeque<T> into a Vec<T>.

    \n

    This never needs to re-allocate, but does need to do O(n) data movement if\n the circular buffer doesn\u2019t happen to be at the beginning of the allocation.

    \n
    \u00a7Examples
    \n
    use std::collections::VecDeque;\n \n // This one is *O*(1).\n let deque: VecDeque<_> = (1..5).collect();\n@@ -879,59 +879,59 @@\n let mut deque: VecDeque<_> = (1..5).collect();\n deque.push_front(9);\n deque.push_front(8);\n let ptr = deque.as_slices().1.as_ptr();\n let vec = Vec::from(deque);\n assert_eq!(vec, [8, 9, 1, 2, 3, 4]);\n assert_eq!(vec.as_ptr(), ptr);
    Run
    \n-
    source\u00a7

    impl<T> FromIterator<T> for VecDeque<T>

    source\u00a7

    fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> VecDeque<T>

    Creates a value from an iterator. Read more
    source\u00a7

    impl<T: Hash, A: Allocator> Hash for VecDeque<T, A>

    source\u00a7

    fn hash<H: Hasher>(&self, state: &mut H)

    Feeds this value into the given Hasher. Read more
    1.3.0 \u00b7 source\u00a7

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n- H: Hasher,\n- Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source\u00a7

    impl<T, A: Allocator> Index<usize> for VecDeque<T, A>

    \u00a7

    type Output = T

    The returned type after indexing.
    source\u00a7

    fn index(&self, index: usize) -> &T

    Performs the indexing (container[index]) operation. Read more
    source\u00a7

    impl<T, A: Allocator> IndexMut<usize> for VecDeque<T, A>

    source\u00a7

    fn index_mut(&mut self, index: usize) -> &mut T

    Performs the mutable indexing (container[index]) operation. Read more
    source\u00a7

    impl<'a, T, A: Allocator> IntoIterator for &'a VecDeque<T, A>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = Iter<'a, T>

    Which kind of iterator are we turning this into?
    source\u00a7

    fn into_iter(self) -> Iter<'a, T> \u24d8

    Creates an iterator from a value. Read more
    source\u00a7

    impl<'a, T, A: Allocator> IntoIterator for &'a mut VecDeque<T, A>

    \u00a7

    type Item = &'a mut T

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = IterMut<'a, T>

    Which kind of iterator are we turning this into?
    source\u00a7

    fn into_iter(self) -> IterMut<'a, T> \u24d8

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, A: Allocator> IntoIterator for VecDeque<T, A>

    source\u00a7

    fn into_iter(self) -> IntoIter<T, A> \u24d8

    Consumes the deque into a front-to-back iterator yielding elements by\n+

    source\u00a7

    impl<T> FromIterator<T> for VecDeque<T>

    source\u00a7

    fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> VecDeque<T>

    Creates a value from an iterator. Read more
    source\u00a7

    impl<T: Hash, A: Allocator> Hash for VecDeque<T, A>

    source\u00a7

    fn hash<H: Hasher>(&self, state: &mut H)

    Feeds this value into the given Hasher. Read more
    1.3.0 \u00b7 source\u00a7

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n+ H: Hasher,\n+ Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source\u00a7

    impl<T, A: Allocator> Index<usize> for VecDeque<T, A>

    \u00a7

    type Output = T

    The returned type after indexing.
    source\u00a7

    fn index(&self, index: usize) -> &T

    Performs the indexing (container[index]) operation. Read more
    source\u00a7

    impl<T, A: Allocator> IndexMut<usize> for VecDeque<T, A>

    source\u00a7

    fn index_mut(&mut self, index: usize) -> &mut T

    Performs the mutable indexing (container[index]) operation. Read more
    source\u00a7

    impl<'a, T, A: Allocator> IntoIterator for &'a VecDeque<T, A>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = Iter<'a, T>

    Which kind of iterator are we turning this into?
    source\u00a7

    fn into_iter(self) -> Iter<'a, T> \u24d8

    Creates an iterator from a value. Read more
    source\u00a7

    impl<'a, T, A: Allocator> IntoIterator for &'a mut VecDeque<T, A>

    \u00a7

    type Item = &'a mut T

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = IterMut<'a, T>

    Which kind of iterator are we turning this into?
    source\u00a7

    fn into_iter(self) -> IterMut<'a, T> \u24d8

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, A: Allocator> IntoIterator for VecDeque<T, A>

    source\u00a7

    fn into_iter(self) -> IntoIter<T, A> \u24d8

    Consumes the deque into a front-to-back iterator yielding elements by\n value.

    \n-
    \u00a7

    type Item = T

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = IntoIter<T, A>

    Which kind of iterator are we turning this into?
    source\u00a7

    impl<T: Ord, A: Allocator> Ord for VecDeque<T, A>

    source\u00a7

    fn cmp(&self, other: &Self) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 \u00b7 source\u00a7

    fn max(self, other: Self) -> Self
    where\n- Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 \u00b7 source\u00a7

    fn min(self, other: Self) -> Self
    where\n- Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 \u00b7 source\u00a7

    fn clamp(self, min: Self, max: Self) -> Self
    where\n- Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    1.17.0 \u00b7 source\u00a7

    impl<T, U, A: Allocator> PartialEq<&[U]> for VecDeque<T, A>
    where\n- T: PartialEq<U>,

    source\u00a7

    fn eq(&self, other: &&[U]) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    1.17.0 \u00b7 source\u00a7

    impl<T, U, A: Allocator, const N: usize> PartialEq<&[U; N]> for VecDeque<T, A>
    where\n- T: PartialEq<U>,

    source\u00a7

    fn eq(&self, other: &&[U; N]) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    1.17.0 \u00b7 source\u00a7

    impl<T, U, A: Allocator> PartialEq<&mut [U]> for VecDeque<T, A>
    where\n- T: PartialEq<U>,

    source\u00a7

    fn eq(&self, other: &&mut [U]) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    1.17.0 \u00b7 source\u00a7

    impl<T, U, A: Allocator, const N: usize> PartialEq<&mut [U; N]> for VecDeque<T, A>
    where\n- T: PartialEq<U>,

    source\u00a7

    fn eq(&self, other: &&mut [U; N]) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    1.17.0 \u00b7 source\u00a7

    impl<T, U, A: Allocator, const N: usize> PartialEq<[U; N]> for VecDeque<T, A>
    where\n- T: PartialEq<U>,

    source\u00a7

    fn eq(&self, other: &[U; N]) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    1.17.0 \u00b7 source\u00a7

    impl<T, U, A: Allocator> PartialEq<Vec<U, A>> for VecDeque<T, A>
    where\n- T: PartialEq<U>,

    source\u00a7

    fn eq(&self, other: &Vec<U, A>) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<T: PartialEq, A: Allocator> PartialEq for VecDeque<T, A>

    source\u00a7

    fn eq(&self, other: &Self) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<T: PartialOrd, A: Allocator> PartialOrd for VecDeque<T, A>

    source\u00a7

    fn partial_cmp(&self, other: &Self) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source\u00a7

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source\u00a7

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\n-operator. Read more
    source\u00a7

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    source\u00a7

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\n-operator. Read more
    source\u00a7

    impl<T: Eq, A: Allocator> Eq for VecDeque<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for VecDeque<T, A>
    where\n- A: Freeze,

    \u00a7

    impl<T, A> RefUnwindSafe for VecDeque<T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<T, A> Send for VecDeque<T, A>
    where\n- A: Send,\n- T: Send,

    \u00a7

    impl<T, A> Sync for VecDeque<T, A>
    where\n- A: Sync,\n- T: Sync,

    \u00a7

    impl<T, A> Unpin for VecDeque<T, A>
    where\n- A: Unpin,\n- T: Unpin,

    \u00a7

    impl<T, A> UnwindSafe for VecDeque<T, A>
    where\n- A: UnwindSafe,\n- T: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+
    \u00a7

    type Item = T

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = IntoIter<T, A>

    Which kind of iterator are we turning this into?
    source\u00a7

    impl<T: Ord, A: Allocator> Ord for VecDeque<T, A>

    source\u00a7

    fn cmp(&self, other: &Self) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 \u00b7 source\u00a7

    fn max(self, other: Self) -> Self
    where\n+ Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 \u00b7 source\u00a7

    fn min(self, other: Self) -> Self
    where\n+ Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 \u00b7 source\u00a7

    fn clamp(self, min: Self, max: Self) -> Self
    where\n+ Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    1.17.0 \u00b7 source\u00a7

    impl<T, U, A: Allocator> PartialEq<&[U]> for VecDeque<T, A>
    where\n+ T: PartialEq<U>,

    source\u00a7

    fn eq(&self, other: &&[U]) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    1.17.0 \u00b7 source\u00a7

    impl<T, U, A: Allocator, const N: usize> PartialEq<&[U; N]> for VecDeque<T, A>
    where\n+ T: PartialEq<U>,

    source\u00a7

    fn eq(&self, other: &&[U; N]) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    1.17.0 \u00b7 source\u00a7

    impl<T, U, A: Allocator> PartialEq<&mut [U]> for VecDeque<T, A>
    where\n+ T: PartialEq<U>,

    source\u00a7

    fn eq(&self, other: &&mut [U]) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    1.17.0 \u00b7 source\u00a7

    impl<T, U, A: Allocator, const N: usize> PartialEq<&mut [U; N]> for VecDeque<T, A>
    where\n+ T: PartialEq<U>,

    source\u00a7

    fn eq(&self, other: &&mut [U; N]) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    1.17.0 \u00b7 source\u00a7

    impl<T, U, A: Allocator, const N: usize> PartialEq<[U; N]> for VecDeque<T, A>
    where\n+ T: PartialEq<U>,

    source\u00a7

    fn eq(&self, other: &[U; N]) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    1.17.0 \u00b7 source\u00a7

    impl<T, U, A: Allocator> PartialEq<Vec<U, A>> for VecDeque<T, A>
    where\n+ T: PartialEq<U>,

    source\u00a7

    fn eq(&self, other: &Vec<U, A>) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<T: PartialEq, A: Allocator> PartialEq for VecDeque<T, A>

    source\u00a7

    fn eq(&self, other: &Self) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<T: PartialOrd, A: Allocator> PartialOrd for VecDeque<T, A>

    source\u00a7

    fn partial_cmp(&self, other: &Self) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source\u00a7

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source\u00a7

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\n+operator. Read more
    source\u00a7

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    source\u00a7

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\n+operator. Read more
    source\u00a7

    impl<T: Eq, A: Allocator> Eq for VecDeque<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for VecDeque<T, A>
    where\n+ A: Freeze,

    \u00a7

    impl<T, A> RefUnwindSafe for VecDeque<T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<T, A> Send for VecDeque<T, A>
    where\n+ A: Send,\n+ T: Send,

    \u00a7

    impl<T, A> Sync for VecDeque<T, A>
    where\n+ A: Sync,\n+ T: Sync,

    \u00a7

    impl<T, A> Unpin for VecDeque<T, A>
    where\n+ A: Unpin,\n+ T: Unpin,

    \u00a7

    impl<T, A> UnwindSafe for VecDeque<T, A>
    where\n+ A: UnwindSafe,\n+ T: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/ffi/c_str/struct.CString.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/ffi/c_str/struct.CString.html", "unified_diff": "@@ -1,45 +1,45 @@\n CString in alloc::ffi::c_str - Rust
    \n

    Struct alloc::ffi::c_str::CString

    1.64.0 \u00b7 source \u00b7
    pub struct CString { /* private fields */ }
    Expand description

    A type representing an owned, C-compatible, nul-terminated string with no nul bytes in the\n middle.

    \n

    This type serves the purpose of being able to safely generate a\n C-compatible string from a Rust byte slice or vector. An instance of this\n type is a static guarantee that the underlying bytes contain no interior 0\n bytes (\u201cnul characters\u201d) and that the final byte is 0 (\u201cnul terminator\u201d).

    \n-

    CString is to &CStr as String is to &str: the former\n+

    CString is to &CStr as String is to &str: the former\n in each pair are owned strings; the latter are borrowed\n references.

    \n

    \u00a7Creating a CString

    \n

    A CString is created from either a byte slice or a byte vector,\n-or anything that implements Into<Vec<u8>> (for\n+or anything that implements Into<Vec<u8>> (for\n example, you can build a CString straight out of a String or\n-a &str, since both implement that trait).

    \n-

    The CString::new method will actually check that the provided &[u8]\n+a &str, since both implement that trait).

    \n+

    The CString::new method will actually check that the provided &[u8]\n does not have 0 bytes in the middle, and return an error if it\n finds one.

    \n

    \u00a7Extracting a raw pointer to the whole C string

    \n-

    CString implements an as_ptr method through the Deref\n+

    CString implements an as_ptr method through the Deref\n trait. This method will give you a *const c_char which you can\n feed directly to extern functions that expect a nul-terminated\n-string, like C\u2019s strdup(). Notice that as_ptr returns a\n+string, like C\u2019s strdup(). Notice that as_ptr returns a\n read-only pointer; if the C code writes to it, that causes\n undefined behavior.

    \n

    \u00a7Extracting a slice of the whole C string

    \n-

    Alternatively, you can obtain a &[u8] slice from a\n+

    Alternatively, you can obtain a &[u8] slice from a\n CString with the CString::as_bytes method. Slices produced in this\n way do not contain the trailing nul terminator. This is useful\n when you will be calling an extern function that takes a *const u8 argument which is not necessarily nul-terminated, plus another\n argument with the length of the string \u2014 like C\u2019s strndup().\n You can of course get the slice\u2019s length with its\n-len method.

    \n-

    If you need a &[u8] slice with the nul terminator, you\n+len method.

    \n+

    If you need a &[u8] slice with the nul terminator, you\n can use CString::as_bytes_with_nul instead.

    \n

    Once you have the kind of slice you need (with or without a nul\n terminator), you can call the slice\u2019s own\n-as_ptr method to get a read-only raw pointer to pass to\n+as_ptr method to get a read-only raw pointer to pass to\n extern functions. See the documentation for that function for a\n discussion on ensuring the lifetime of the raw pointer.

    \n

    \u00a7Examples

    \n
    \u24d8
    use std::ffi::CString;\n use std::os::raw::c_char;\n \n extern \"C\" {\n@@ -57,15 +57,15 @@\n (a sequence of non-nul bytes terminated by a single nul byte); the\n primary use case for these kinds of strings is interoperating with C-like\n code. Often you will need to transfer ownership to/from that external\n code. It is strongly recommended that you thoroughly read through the\n documentation of CString before use, as improper ownership management\n of CString instances can lead to invalid memory accesses, memory leaks,\n and other memory errors.

    \n-

    Implementations\u00a7

    source\u00a7

    impl CString

    1.0.0 \u00b7 source

    pub fn new<T: Into<Vec<u8>>>(t: T) -> Result<CString, NulError>

    Creates a new C-compatible string from a container of bytes.

    \n+

    Implementations\u00a7

    source\u00a7

    impl CString

    1.0.0 \u00b7 source

    pub fn new<T: Into<Vec<u8>>>(t: T) -> Result<CString, NulError>

    Creates a new C-compatible string from a container of bytes.

    \n

    This function will consume the provided data and use the\n underlying bytes to construct a new string, ensuring that\n there is a trailing 0 byte. This trailing 0 byte will be\n appended by this function; the provided data should not\n contain any 0 bytes in it.

    \n
    \u00a7Examples
    \n
    \u24d8
    use std::ffi::CString;\n@@ -77,43 +77,43 @@\n unsafe {\n     puts(to_print.as_ptr());\n }
    Run
    \n
    \u00a7Errors
    \n

    This function will return an error if the supplied bytes contain an\n internal 0 byte. The NulError returned will contain the bytes as well as\n the position of the nul byte.

    \n-
    1.0.0 \u00b7 source

    pub unsafe fn from_vec_unchecked(v: Vec<u8>) -> Self

    Creates a C-compatible string by consuming a byte vector,\n+

    1.0.0 \u00b7 source

    pub unsafe fn from_vec_unchecked(v: Vec<u8>) -> Self

    Creates a C-compatible string by consuming a byte vector,\n without checking for interior 0 bytes.

    \n

    Trailing 0 byte will be appended by this function.

    \n

    This method is equivalent to CString::new except that no runtime\n assertion is made that v contains no 0 bytes, and it requires an\n actual byte vector, not anything that can be converted to one with Into.

    \n
    \u00a7Examples
    \n
    use std::ffi::CString;\n \n let raw = b\"foo\".to_vec();\n unsafe {\n     let c_string = CString::from_vec_unchecked(raw);\n }
    Run
    \n-
    1.4.0 \u00b7 source

    pub unsafe fn from_raw(ptr: *mut c_char) -> CString

    Retakes ownership of a CString that was transferred to C via\n+

    1.4.0 \u00b7 source

    pub unsafe fn from_raw(ptr: *mut c_char) -> CString

    Retakes ownership of a CString that was transferred to C via\n CString::into_raw.

    \n

    Additionally, the length of the string will be recalculated from the pointer.

    \n
    \u00a7Safety
    \n

    This should only ever be called with a pointer that was earlier\n obtained by calling CString::into_raw. Other usage (e.g., trying to take\n ownership of a string that was allocated by foreign code) is likely to lead\n to undefined behavior or allocator corruption.

    \n

    It should be noted that the length isn\u2019t just \u201crecomputed,\u201d but that\n the recomputed length must match the original length from the\n CString::into_raw call. This means the CString::into_raw/from_raw\n methods should not be used when passing the string to C functions that can\n modify the string\u2019s length.

    \n
    \n

    Note: If you need to borrow a string that was allocated by\n-foreign code, use CStr. If you need to take ownership of\n+foreign code, use CStr. If you need to take ownership of\n a string that was allocated by foreign code, you will need to\n make your own provisions for freeing it appropriately, likely\n with the foreign code\u2019s API to do that.

    \n
    \n
    \u00a7Examples
    \n

    Creates a CString, pass ownership to an extern function (via raw pointer), then retake\n ownership with from_raw:

    \n@@ -127,15 +127,15 @@\n \n let c_string = CString::new(\"Hello!\").expect(\"CString::new failed\");\n let raw = c_string.into_raw();\n unsafe {\n some_extern_function(raw);\n let c_string = CString::from_raw(raw);\n }
    Run
    \n-
    1.4.0 \u00b7 source

    pub fn into_raw(self) -> *mut c_char

    Consumes the CString and transfers ownership of the string to a C caller.

    \n+
    1.4.0 \u00b7 source

    pub fn into_raw(self) -> *mut c_char

    Consumes the CString and transfers ownership of the string to a C caller.

    \n

    The pointer which this function returns must be returned to Rust and reconstituted using\n CString::from_raw to be properly deallocated. Specifically, one\n should not use the standard C free() function to deallocate\n this string.

    \n

    Failure to call CString::from_raw will lead to a memory leak.

    \n

    The C side must not modify the length of the string (by writing a\n nul byte somewhere inside the string or removing the final one) before\n@@ -153,92 +153,92 @@\n assert_eq!(b'o', *ptr.add(1) as u8);\n assert_eq!(b'o', *ptr.add(2) as u8);\n assert_eq!(b'\\0', *ptr.add(3) as u8);\n \n // retake pointer to free memory\n let _ = CString::from_raw(ptr);\n }Run

    \n-
    1.7.0 \u00b7 source

    pub fn into_string(self) -> Result<String, IntoStringError>

    Converts the CString into a String if it contains valid UTF-8 data.

    \n+
    1.7.0 \u00b7 source

    pub fn into_string(self) -> Result<String, IntoStringError>

    Converts the CString into a String if it contains valid UTF-8 data.

    \n

    On failure, ownership of the original CString is returned.

    \n
    \u00a7Examples
    \n
    use std::ffi::CString;\n \n let valid_utf8 = vec![b'f', b'o', b'o'];\n let cstring = CString::new(valid_utf8).expect(\"CString::new failed\");\n assert_eq!(cstring.into_string().expect(\"into_string() call failed\"), \"foo\");\n \n let invalid_utf8 = vec![b'f', 0xff, b'o', b'o'];\n let cstring = CString::new(invalid_utf8).expect(\"CString::new failed\");\n let err = cstring.into_string().err().expect(\"into_string().err() failed\");\n assert_eq!(err.utf8_error().valid_up_to(), 1);
    Run
    \n-
    1.7.0 \u00b7 source

    pub fn into_bytes(self) -> Vec<u8>

    Consumes the CString and returns the underlying byte buffer.

    \n+
    1.7.0 \u00b7 source

    pub fn into_bytes(self) -> Vec<u8>

    Consumes the CString and returns the underlying byte buffer.

    \n

    The returned buffer does not contain the trailing nul\n terminator, and it is guaranteed to not have any interior nul\n bytes.

    \n
    \u00a7Examples
    \n
    use std::ffi::CString;\n \n let c_string = CString::new(\"foo\").expect(\"CString::new failed\");\n let bytes = c_string.into_bytes();\n assert_eq!(bytes, vec![b'f', b'o', b'o']);
    Run
    \n-
    1.7.0 \u00b7 source

    pub fn into_bytes_with_nul(self) -> Vec<u8>

    Equivalent to CString::into_bytes() except that the\n+

    1.7.0 \u00b7 source

    pub fn into_bytes_with_nul(self) -> Vec<u8>

    Equivalent to CString::into_bytes() except that the\n returned vector includes the trailing nul terminator.

    \n
    \u00a7Examples
    \n
    use std::ffi::CString;\n \n let c_string = CString::new(\"foo\").expect(\"CString::new failed\");\n let bytes = c_string.into_bytes_with_nul();\n assert_eq!(bytes, vec![b'f', b'o', b'o', b'\\0']);
    Run
    \n-
    1.0.0 \u00b7 source

    pub fn as_bytes(&self) -> &[u8]

    Returns the contents of this CString as a slice of bytes.

    \n+
    1.0.0 \u00b7 source

    pub fn as_bytes(&self) -> &[u8]

    Returns the contents of this CString as a slice of bytes.

    \n

    The returned slice does not contain the trailing nul\n terminator, and it is guaranteed to not have any interior nul\n bytes. If you need the nul terminator, use\n CString::as_bytes_with_nul instead.

    \n
    \u00a7Examples
    \n
    use std::ffi::CString;\n \n let c_string = CString::new(\"foo\").expect(\"CString::new failed\");\n let bytes = c_string.as_bytes();\n assert_eq!(bytes, &[b'f', b'o', b'o']);
    Run
    \n-
    1.0.0 \u00b7 source

    pub fn as_bytes_with_nul(&self) -> &[u8]

    Equivalent to CString::as_bytes() except that the\n+

    1.0.0 \u00b7 source

    pub fn as_bytes_with_nul(&self) -> &[u8]

    Equivalent to CString::as_bytes() except that the\n returned slice includes the trailing nul terminator.

    \n
    \u00a7Examples
    \n
    use std::ffi::CString;\n \n let c_string = CString::new(\"foo\").expect(\"CString::new failed\");\n let bytes = c_string.as_bytes_with_nul();\n assert_eq!(bytes, &[b'f', b'o', b'o', b'\\0']);
    Run
    \n-
    1.20.0 \u00b7 source

    pub fn as_c_str(&self) -> &CStr

    Extracts a CStr slice containing the entire string.

    \n+
    1.20.0 \u00b7 source

    pub fn as_c_str(&self) -> &CStr

    Extracts a CStr slice containing the entire string.

    \n
    \u00a7Examples
    \n
    use std::ffi::{CString, CStr};\n \n let c_string = CString::new(b\"foo\".to_vec()).expect(\"CString::new failed\");\n let cstr = c_string.as_c_str();\n assert_eq!(cstr,\n            CStr::from_bytes_with_nul(b\"foo\\0\").expect(\"CStr::from_bytes_with_nul failed\"));
    Run
    \n-
    1.20.0 \u00b7 source

    pub fn into_boxed_c_str(self) -> Box<CStr>

    Converts this CString into a boxed CStr.

    \n+
    1.20.0 \u00b7 source

    pub fn into_boxed_c_str(self) -> Box<CStr>

    Converts this CString into a boxed CStr.

    \n
    \u00a7Examples
    \n
    use std::ffi::{CString, CStr};\n \n let c_string = CString::new(b\"foo\".to_vec()).expect(\"CString::new failed\");\n let boxed = c_string.into_boxed_c_str();\n assert_eq!(&*boxed,\n            CStr::from_bytes_with_nul(b\"foo\\0\").expect(\"CStr::from_bytes_with_nul failed\"));
    Run
    \n-
    1.58.0 \u00b7 source

    pub unsafe fn from_vec_with_nul_unchecked(v: Vec<u8>) -> Self

    Converts a Vec<u8> to a CString without checking the\n+

    1.58.0 \u00b7 source

    pub unsafe fn from_vec_with_nul_unchecked(v: Vec<u8>) -> Self

    Converts a Vec<u8> to a CString without checking the\n invariants on the given Vec.

    \n
    \u00a7Safety
    \n

    The given Vec must have one nul byte as its last element.\n This means it cannot be empty nor have any other nul byte anywhere else.

    \n
    \u00a7Example
    \n
    use std::ffi::CString;\n assert_eq!(\n     unsafe { CString::from_vec_with_nul_unchecked(b\"abc\\0\".to_vec()) },\n     unsafe { CString::from_vec_unchecked(b\"abc\".to_vec()) }\n );
    Run
    \n-
    1.58.0 \u00b7 source

    pub fn from_vec_with_nul(v: Vec<u8>) -> Result<Self, FromVecWithNulError>

    Attempts to converts a Vec<u8> to a CString.

    \n+
    1.58.0 \u00b7 source

    pub fn from_vec_with_nul(v: Vec<u8>) -> Result<Self, FromVecWithNulError>

    Attempts to converts a Vec<u8> to a CString.

    \n

    Runtime checks are present to ensure there is only one nul byte in the\n Vec, its last element.

    \n
    \u00a7Errors
    \n

    If a nul byte is present and not the last element or no nul bytes\n is present, an error will be returned.

    \n
    \u00a7Examples
    \n

    A successful conversion will produce the same result as CString::new\n@@ -253,21 +253,21 @@\n

    An incorrectly formatted Vec will produce an error.

    \n \n
    use std::ffi::{CString, FromVecWithNulError};\n // Interior nul byte\n let _: FromVecWithNulError = CString::from_vec_with_nul(b\"a\\0bc\".to_vec()).unwrap_err();\n // No nul byte\n let _: FromVecWithNulError = CString::from_vec_with_nul(b\"abc\".to_vec()).unwrap_err();
    Run
    \n-

    Methods from Deref<Target = CStr>\u00a7

    1.4.0 \u00b7 source

    pub fn to_string_lossy(&self) -> Cow<'_, str>

    Converts a CStr into a Cow<str>.

    \n+

    Methods from Deref<Target = CStr>\u00a7

    1.4.0 \u00b7 source

    pub fn to_string_lossy(&self) -> Cow<'_, str>

    Converts a CStr into a Cow<str>.

    \n

    If the contents of the CStr are valid UTF-8 data, this\n-function will return a Cow::Borrowed(&str)\n-with the corresponding &str slice. Otherwise, it will\n+function will return a Cow::Borrowed(&str)\n+with the corresponding &str slice. Otherwise, it will\n replace any invalid UTF-8 sequences with\n-U+FFFD REPLACEMENT CHARACTER and return a\n-Cow::Owned(&str) with the result.

    \n+U+FFFD REPLACEMENT CHARACTER and return a\n+Cow::Owned(&str) with the result.

    \n
    \u00a7Examples
    \n

    Calling to_string_lossy on a CStr containing valid UTF-8:

    \n \n
    use std::borrow::Cow;\n use std::ffi::CStr;\n \n let cstr = CStr::from_bytes_with_nul(b\"Hello World\\0\")\n@@ -280,20 +280,20 @@\n \n let cstr = CStr::from_bytes_with_nul(b\"Hello \\xF0\\x90\\x80World\\0\")\n                  .expect(\"CStr::from_bytes_with_nul failed\");\n assert_eq!(\n     cstr.to_string_lossy(),\n     Cow::Owned(String::from(\"Hello \ufffdWorld\")) as Cow<'_, str>\n );
    Run
    \n-
    1.0.0 \u00b7 source

    pub fn as_ptr(&self) -> *const i8

    Returns the inner pointer to this C string.

    \n+
    1.0.0 \u00b7 source

    pub fn as_ptr(&self) -> *const i8

    Returns the inner pointer to this C string.

    \n

    The returned pointer will be valid for as long as self is, and points\n to a contiguous region of memory terminated with a 0 byte to represent\n the end of the string.

    \n

    The type of the returned pointer is\n-*const c_char, and whether it\u2019s\n+*const c_char, and whether it\u2019s\n an alias for *const i8 or *const u8 is platform-specific.

    \n

    WARNING

    \n

    The returned pointer is read-only; writing to it (including passing it\n to C code that writes to it) causes undefined behavior.

    \n

    It is your responsibility to make sure that the underlying memory is not\n freed too early. For example, the following code will cause undefined\n behavior when ptr is used inside the unsafe block:

    \n@@ -318,15 +318,15 @@\n let ptr = hello.as_ptr();\n unsafe {\n // `ptr` is valid because `hello` is in scope\n *ptr;\n }Run
    \n

    This way, the lifetime of the CString in hello encompasses\n the lifetime of ptr and the unsafe block.

    \n-
    source

    pub fn count_bytes(&self) -> usize

    \ud83d\udd2cThis is a nightly-only experimental API. (cstr_count_bytes #114441)

    Returns the length of self. Like C\u2019s strlen, this does not include the nul terminator.

    \n+
    source

    pub fn count_bytes(&self) -> usize

    \ud83d\udd2cThis is a nightly-only experimental API. (cstr_count_bytes #114441)

    Returns the length of self. Like C\u2019s strlen, this does not include the nul terminator.

    \n
    \n

    Note: This method is currently implemented as a constant-time\n cast, but it is planned to alter its definition in the future to\n perform the length calculation whenever this method is called.

    \n
    \n
    \u00a7Examples
    \n
    #![feature(cstr_count_bytes)]\n@@ -334,98 +334,98 @@\n use std::ffi::CStr;\n \n let cstr = CStr::from_bytes_with_nul(b\"foo\\0\").unwrap();\n assert_eq!(cstr.count_bytes(), 3);\n \n let cstr = CStr::from_bytes_with_nul(b\"\\0\").unwrap();\n assert_eq!(cstr.count_bytes(), 0);
    Run
    \n-
    1.71.0 \u00b7 source

    pub fn is_empty(&self) -> bool

    Returns true if self.to_bytes() has a length of 0.

    \n+
    1.71.0 \u00b7 source

    pub fn is_empty(&self) -> bool

    Returns true if self.to_bytes() has a length of 0.

    \n
    \u00a7Examples
    \n
    use std::ffi::CStr;\n \n let cstr = CStr::from_bytes_with_nul(b\"foo\\0\")?;\n assert!(!cstr.is_empty());\n \n let empty_cstr = CStr::from_bytes_with_nul(b\"\\0\")?;\n assert!(empty_cstr.is_empty());
    Run
    \n-
    1.0.0 \u00b7 source

    pub fn to_bytes(&self) -> &[u8]

    Converts this C string to a byte slice.

    \n+
    1.0.0 \u00b7 source

    pub fn to_bytes(&self) -> &[u8]

    Converts this C string to a byte slice.

    \n

    The returned slice will not contain the trailing nul terminator that this C\n string has.

    \n
    \n

    Note: This method is currently implemented as a constant-time\n cast, but it is planned to alter its definition in the future to\n perform the length calculation whenever this method is called.

    \n
    \n
    \u00a7Examples
    \n
    use std::ffi::CStr;\n \n let cstr = CStr::from_bytes_with_nul(b\"foo\\0\").expect(\"CStr::from_bytes_with_nul failed\");\n assert_eq!(cstr.to_bytes(), b\"foo\");
    Run
    \n-
    1.0.0 \u00b7 source

    pub fn to_bytes_with_nul(&self) -> &[u8]

    Converts this C string to a byte slice containing the trailing 0 byte.

    \n-

    This function is the equivalent of CStr::to_bytes except that it\n+

    1.0.0 \u00b7 source

    pub fn to_bytes_with_nul(&self) -> &[u8]

    Converts this C string to a byte slice containing the trailing 0 byte.

    \n+

    This function is the equivalent of CStr::to_bytes except that it\n will retain the trailing nul terminator instead of chopping it off.

    \n
    \n

    Note: This method is currently implemented as a 0-cost cast, but\n it is planned to alter its definition in the future to perform the\n length calculation whenever this method is called.

    \n
    \n
    \u00a7Examples
    \n
    use std::ffi::CStr;\n \n let cstr = CStr::from_bytes_with_nul(b\"foo\\0\").expect(\"CStr::from_bytes_with_nul failed\");\n assert_eq!(cstr.to_bytes_with_nul(), b\"foo\\0\");
    Run
    \n-
    source

    pub fn bytes(&self) -> Bytes<'_>

    \ud83d\udd2cThis is a nightly-only experimental API. (cstr_bytes #112115)

    Iterates over the bytes in this C string.

    \n+
    source

    pub fn bytes(&self) -> Bytes<'_>

    \ud83d\udd2cThis is a nightly-only experimental API. (cstr_bytes #112115)

    Iterates over the bytes in this C string.

    \n

    The returned iterator will not contain the trailing nul terminator\n that this C string has.

    \n
    \u00a7Examples
    \n
    #![feature(cstr_bytes)]\n use std::ffi::CStr;\n \n let cstr = CStr::from_bytes_with_nul(b\"foo\\0\").expect(\"CStr::from_bytes_with_nul failed\");\n assert!(cstr.bytes().eq(*b\"foo\"));
    Run
    \n-
    1.4.0 \u00b7 source

    pub fn to_str(&self) -> Result<&str, Utf8Error>

    Yields a &str slice if the CStr contains valid UTF-8.

    \n+
    1.4.0 \u00b7 source

    pub fn to_str(&self) -> Result<&str, Utf8Error>

    Yields a &str slice if the CStr contains valid UTF-8.

    \n

    If the contents of the CStr are valid UTF-8 data, this\n-function will return the corresponding &str slice. Otherwise,\n+function will return the corresponding &str slice. Otherwise,\n it will return an error with details of where UTF-8 validation failed.

    \n
    \u00a7Examples
    \n
    use std::ffi::CStr;\n \n let cstr = CStr::from_bytes_with_nul(b\"foo\\0\").expect(\"CStr::from_bytes_with_nul failed\");\n assert_eq!(cstr.to_str(), Ok(\"foo\"));
    Run
    \n-

    Trait Implementations\u00a7

    1.7.0 \u00b7 source\u00a7

    impl AsRef<CStr> for CString

    source\u00a7

    fn as_ref(&self) -> &CStr

    Converts this type into a shared reference of the (usually inferred) input type.
    1.3.0 \u00b7 source\u00a7

    impl Borrow<CStr> for CString

    source\u00a7

    fn borrow(&self) -> &CStr

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl Clone for CString

    source\u00a7

    fn clone(&self) -> CString

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.0.0 \u00b7 source\u00a7

    impl Debug for CString

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.10.0 \u00b7 source\u00a7

    impl Default for CString

    source\u00a7

    fn default() -> CString

    Creates an empty CString.

    \n-
    1.0.0 \u00b7 source\u00a7

    impl Deref for CString

    \u00a7

    type Target = CStr

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &CStr

    Dereferences the value.
    1.13.0 \u00b7 source\u00a7

    impl Drop for CString

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    1.7.0 \u00b7 source\u00a7

    impl From<&CStr> for CString

    source\u00a7

    fn from(s: &CStr) -> CString

    Converts a &CStr into a CString\n+

    Trait Implementations\u00a7

    1.7.0 \u00b7 source\u00a7

    impl AsRef<CStr> for CString

    source\u00a7

    fn as_ref(&self) -> &CStr

    Converts this type into a shared reference of the (usually inferred) input type.
    1.3.0 \u00b7 source\u00a7

    impl Borrow<CStr> for CString

    source\u00a7

    fn borrow(&self) -> &CStr

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl Clone for CString

    source\u00a7

    fn clone(&self) -> CString

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.0.0 \u00b7 source\u00a7

    impl Debug for CString

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.10.0 \u00b7 source\u00a7

    impl Default for CString

    source\u00a7

    fn default() -> CString

    Creates an empty CString.

    \n+
    1.0.0 \u00b7 source\u00a7

    impl Deref for CString

    \u00a7

    type Target = CStr

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &CStr

    Dereferences the value.
    1.13.0 \u00b7 source\u00a7

    impl Drop for CString

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    1.7.0 \u00b7 source\u00a7

    impl From<&CStr> for CString

    source\u00a7

    fn from(s: &CStr) -> CString

    Converts a &CStr into a CString\n by copying the contents into a new allocation.

    \n-
    1.28.0 \u00b7 source\u00a7

    impl<'a> From<&'a CString> for Cow<'a, CStr>

    source\u00a7

    fn from(s: &'a CString) -> Cow<'a, CStr>

    Converts a &CString into a borrowed Cow without copying or allocating.

    \n-
    1.18.0 \u00b7 source\u00a7

    impl From<Box<CStr>> for CString

    source\u00a7

    fn from(s: Box<CStr>) -> CString

    Converts a Box<CStr> into a CString without copying or allocating.

    \n-
    1.24.0 \u00b7 source\u00a7

    impl From<CString> for Arc<CStr>

    source\u00a7

    fn from(s: CString) -> Arc<CStr>

    Converts a CString into an Arc<CStr> by moving the CString\n+

    1.28.0 \u00b7 source\u00a7

    impl<'a> From<&'a CString> for Cow<'a, CStr>

    source\u00a7

    fn from(s: &'a CString) -> Cow<'a, CStr>

    Converts a &CString into a borrowed Cow without copying or allocating.

    \n+
    1.18.0 \u00b7 source\u00a7

    impl From<Box<CStr>> for CString

    source\u00a7

    fn from(s: Box<CStr>) -> CString

    Converts a Box<CStr> into a CString without copying or allocating.

    \n+
    1.24.0 \u00b7 source\u00a7

    impl From<CString> for Arc<CStr>

    source\u00a7

    fn from(s: CString) -> Arc<CStr>

    Converts a CString into an Arc<CStr> by moving the CString\n data into a new Arc buffer.

    \n-
    1.20.0 \u00b7 source\u00a7

    impl From<CString> for Box<CStr>

    source\u00a7

    fn from(s: CString) -> Box<CStr>

    Converts a CString into a Box<CStr> without copying or allocating.

    \n-
    1.28.0 \u00b7 source\u00a7

    impl<'a> From<CString> for Cow<'a, CStr>

    source\u00a7

    fn from(s: CString) -> Cow<'a, CStr>

    Converts a CString into an owned Cow without copying or allocating.

    \n-
    1.24.0 \u00b7 source\u00a7

    impl From<CString> for Rc<CStr>

    source\u00a7

    fn from(s: CString) -> Rc<CStr>

    Converts a CString into an Rc<CStr> by moving the CString\n+

    1.20.0 \u00b7 source\u00a7

    impl From<CString> for Box<CStr>

    source\u00a7

    fn from(s: CString) -> Box<CStr>

    Converts a CString into a Box<CStr> without copying or allocating.

    \n+
    1.28.0 \u00b7 source\u00a7

    impl<'a> From<CString> for Cow<'a, CStr>

    source\u00a7

    fn from(s: CString) -> Cow<'a, CStr>

    Converts a CString into an owned Cow without copying or allocating.

    \n+
    1.24.0 \u00b7 source\u00a7

    impl From<CString> for Rc<CStr>

    source\u00a7

    fn from(s: CString) -> Rc<CStr>

    Converts a CString into an Rc<CStr> by moving the CString\n data into a new Rc buffer.

    \n-
    1.7.0 \u00b7 source\u00a7

    impl From<CString> for Vec<u8>

    source\u00a7

    fn from(s: CString) -> Vec<u8>

    Converts a CString into a Vec<u8>.

    \n+
    1.7.0 \u00b7 source\u00a7

    impl From<CString> for Vec<u8>

    source\u00a7

    fn from(s: CString) -> Vec<u8>

    Converts a CString into a Vec<u8>.

    \n

    The conversion consumes the CString, and removes the terminating NUL byte.

    \n-
    1.28.0 \u00b7 source\u00a7

    impl<'a> From<Cow<'a, CStr>> for CString

    source\u00a7

    fn from(s: Cow<'a, CStr>) -> Self

    Converts a Cow<'a, CStr> into a CString, by copying the contents if they are\n+

    1.28.0 \u00b7 source\u00a7

    impl<'a> From<Cow<'a, CStr>> for CString

    source\u00a7

    fn from(s: Cow<'a, CStr>) -> Self

    Converts a Cow<'a, CStr> into a CString, by copying the contents if they are\n borrowed.

    \n-
    1.43.0 \u00b7 source\u00a7

    impl From<Vec<NonZero<u8>>> for CString

    source\u00a7

    fn from(v: Vec<NonZero<u8>>) -> CString

    Converts a Vec<NonZero<u8>> into a CString without\n+

    1.43.0 \u00b7 source\u00a7

    impl From<Vec<NonZero<u8>>> for CString

    source\u00a7

    fn from(v: Vec<NonZero<u8>>) -> CString

    Converts a Vec<NonZero<u8>> into a CString without\n copying nor checking for inner nul bytes.

    \n-
    source\u00a7

    impl Hash for CString

    source\u00a7

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 \u00b7 source\u00a7

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n- H: Hasher,\n- Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    1.7.0 \u00b7 source\u00a7

    impl Index<RangeFull> for CString

    \u00a7

    type Output = CStr

    The returned type after indexing.
    source\u00a7

    fn index(&self, _index: RangeFull) -> &CStr

    Performs the indexing (container[index]) operation. Read more
    source\u00a7

    impl Ord for CString

    source\u00a7

    fn cmp(&self, other: &CString) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 \u00b7 source\u00a7

    fn max(self, other: Self) -> Self
    where\n- Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 \u00b7 source\u00a7

    fn min(self, other: Self) -> Self
    where\n- Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 \u00b7 source\u00a7

    fn clamp(self, min: Self, max: Self) -> Self
    where\n- Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source\u00a7

    impl PartialEq for CString

    source\u00a7

    fn eq(&self, other: &CString) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl PartialOrd for CString

    source\u00a7

    fn partial_cmp(&self, other: &CString) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 \u00b7 source\u00a7

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 \u00b7 source\u00a7

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\n-operator. Read more
    1.0.0 \u00b7 source\u00a7

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 \u00b7 source\u00a7

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\n-operator. Read more
    source\u00a7

    impl Eq for CString

    source\u00a7

    impl StructuralPartialEq for CString

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+
    source\u00a7

    impl Hash for CString

    source\u00a7

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 \u00b7 source\u00a7

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n+ H: Hasher,\n+ Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    1.7.0 \u00b7 source\u00a7

    impl Index<RangeFull> for CString

    \u00a7

    type Output = CStr

    The returned type after indexing.
    source\u00a7

    fn index(&self, _index: RangeFull) -> &CStr

    Performs the indexing (container[index]) operation. Read more
    source\u00a7

    impl Ord for CString

    source\u00a7

    fn cmp(&self, other: &CString) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 \u00b7 source\u00a7

    fn max(self, other: Self) -> Self
    where\n+ Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 \u00b7 source\u00a7

    fn min(self, other: Self) -> Self
    where\n+ Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 \u00b7 source\u00a7

    fn clamp(self, min: Self, max: Self) -> Self
    where\n+ Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source\u00a7

    impl PartialEq for CString

    source\u00a7

    fn eq(&self, other: &CString) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl PartialOrd for CString

    source\u00a7

    fn partial_cmp(&self, other: &CString) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 \u00b7 source\u00a7

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 \u00b7 source\u00a7

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\n+operator. Read more
    1.0.0 \u00b7 source\u00a7

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 \u00b7 source\u00a7

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\n+operator. Read more
    source\u00a7

    impl Eq for CString

    source\u00a7

    impl StructuralPartialEq for CString

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/ffi/c_str/struct.FromVecWithNulError.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/ffi/c_str/struct.FromVecWithNulError.html", "unified_diff": "@@ -4,49 +4,49 @@\n positioned at the end.

    \n

    This error is created by the CString::from_vec_with_nul method.\n See its documentation for more.

    \n

    \u00a7Examples

    \n
    use std::ffi::{CString, FromVecWithNulError};\n \n let _: FromVecWithNulError = CString::from_vec_with_nul(b\"f\\0oo\".to_vec()).unwrap_err();
    Run
    \n-

    Implementations\u00a7

    1.58.0 \u00b7 source\u00a7

    impl FromVecWithNulError

    1.58.0 \u00b7 source

    pub fn as_bytes(&self) -> &[u8]

    Returns a slice of u8s bytes that were attempted to convert to a CString.

    \n+

    Implementations\u00a7

    1.58.0 \u00b7 source\u00a7

    impl FromVecWithNulError

    1.58.0 \u00b7 source

    pub fn as_bytes(&self) -> &[u8]

    Returns a slice of u8s bytes that were attempted to convert to a CString.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    use std::ffi::CString;\n \n // Some invalid bytes in a vector\n let bytes = b\"f\\0oo\".to_vec();\n \n let value = CString::from_vec_with_nul(bytes.clone());\n \n assert_eq!(&bytes[..], value.unwrap_err().as_bytes());
    Run
    \n-
    1.58.0 \u00b7 source

    pub fn into_bytes(self) -> Vec<u8>

    Returns the bytes that were attempted to convert to a CString.

    \n+
    1.58.0 \u00b7 source

    pub fn into_bytes(self) -> Vec<u8>

    Returns the bytes that were attempted to convert to a CString.

    \n

    This method is carefully constructed to avoid allocation. It will\n consume the error, moving out the bytes, so that a copy of the bytes\n does not need to be made.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    use std::ffi::CString;\n \n // Some invalid bytes in a vector\n let bytes = b\"f\\0oo\".to_vec();\n \n let value = CString::from_vec_with_nul(bytes.clone());\n \n assert_eq!(bytes, value.unwrap_err().into_bytes());
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl Clone for FromVecWithNulError

    source\u00a7

    fn clone(&self) -> FromVecWithNulError

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for FromVecWithNulError

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.58.0 \u00b7 source\u00a7

    impl Display for FromVecWithNulError

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.58.0 \u00b7 source\u00a7

    impl Error for FromVecWithNulError

    1.30.0 \u00b7 source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 \u00b7 source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 \u00b7 source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more
    source\u00a7

    impl PartialEq for FromVecWithNulError

    source\u00a7

    fn eq(&self, other: &FromVecWithNulError) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl Eq for FromVecWithNulError

    source\u00a7

    impl StructuralPartialEq for FromVecWithNulError

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl Clone for FromVecWithNulError

    source\u00a7

    fn clone(&self) -> FromVecWithNulError

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for FromVecWithNulError

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.58.0 \u00b7 source\u00a7

    impl Display for FromVecWithNulError

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.58.0 \u00b7 source\u00a7

    impl Error for FromVecWithNulError

    1.30.0 \u00b7 source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 \u00b7 source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 \u00b7 source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more
    source\u00a7

    impl PartialEq for FromVecWithNulError

    source\u00a7

    fn eq(&self, other: &FromVecWithNulError) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl Eq for FromVecWithNulError

    source\u00a7

    impl StructuralPartialEq for FromVecWithNulError

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n- T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n+ T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/ffi/c_str/struct.IntoStringError.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/ffi/c_str/struct.IntoStringError.html", "unified_diff": "@@ -4,22 +4,22 @@\n CString::into_string performs UTF-8 validation on those bytes and may\n return this error.

    \n

    This struct is created by CString::into_string(). See\n its documentation for more.

    \n

    Implementations\u00a7

    source\u00a7

    impl IntoStringError

    1.7.0 \u00b7 source

    pub fn into_cstring(self) -> CString

    Consumes this error, returning original CString which generated the\n error.

    \n
    1.7.0 \u00b7 source

    pub fn utf8_error(&self) -> Utf8Error

    Access the underlying UTF-8 error that was the cause of this error.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl Clone for IntoStringError

    source\u00a7

    fn clone(&self) -> IntoStringError

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for IntoStringError

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.7.0 \u00b7 source\u00a7

    impl Display for IntoStringError

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.7.0 \u00b7 source\u00a7

    impl Error for IntoStringError

    source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 \u00b7 source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more
    source\u00a7

    impl PartialEq for IntoStringError

    source\u00a7

    fn eq(&self, other: &IntoStringError) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl Eq for IntoStringError

    source\u00a7

    impl StructuralPartialEq for IntoStringError

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl Clone for IntoStringError

    source\u00a7

    fn clone(&self) -> IntoStringError

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for IntoStringError

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.7.0 \u00b7 source\u00a7

    impl Display for IntoStringError

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.7.0 \u00b7 source\u00a7

    impl Error for IntoStringError

    source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 \u00b7 source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more
    source\u00a7

    impl PartialEq for IntoStringError

    source\u00a7

    fn eq(&self, other: &IntoStringError) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl Eq for IntoStringError

    source\u00a7

    impl StructuralPartialEq for IntoStringError

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n- T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n+ T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/ffi/c_str/struct.NulError.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/ffi/c_str/struct.NulError.html", "unified_diff": "@@ -4,39 +4,39 @@\n can\u2019t, as that byte would effectively truncate the string.

    \n

    This error is created by the new method on\n CString. See its documentation for more.

    \n

    \u00a7Examples

    \n
    use std::ffi::{CString, NulError};\n \n let _: NulError = CString::new(b\"f\\0oo\".to_vec()).unwrap_err();
    Run
    \n-

    Implementations\u00a7

    source\u00a7

    impl NulError

    1.0.0 \u00b7 source

    pub fn nul_position(&self) -> usize

    Returns the position of the nul byte in the slice that caused\n+

    Implementations\u00a7

    source\u00a7

    impl NulError

    1.0.0 \u00b7 source

    pub fn nul_position(&self) -> usize

    Returns the position of the nul byte in the slice that caused\n CString::new to fail.

    \n
    \u00a7Examples
    \n
    use std::ffi::CString;\n \n let nul_error = CString::new(\"foo\\0bar\").unwrap_err();\n assert_eq!(nul_error.nul_position(), 3);\n \n let nul_error = CString::new(\"foo bar\\0\").unwrap_err();\n assert_eq!(nul_error.nul_position(), 7);
    Run
    \n-
    1.0.0 \u00b7 source

    pub fn into_vec(self) -> Vec<u8>

    Consumes this error, returning the underlying vector of bytes which\n+

    1.0.0 \u00b7 source

    pub fn into_vec(self) -> Vec<u8>

    Consumes this error, returning the underlying vector of bytes which\n generated the error in the first place.

    \n
    \u00a7Examples
    \n
    use std::ffi::CString;\n \n let nul_error = CString::new(\"foo\\0bar\").unwrap_err();\n assert_eq!(nul_error.into_vec(), b\"foo\\0bar\");
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl Clone for NulError

    source\u00a7

    fn clone(&self) -> NulError

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for NulError

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.0.0 \u00b7 source\u00a7

    impl Display for NulError

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.0.0 \u00b7 source\u00a7

    impl Error for NulError

    source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    1.30.0 \u00b7 source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 \u00b7 source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more
    source\u00a7

    impl PartialEq for NulError

    source\u00a7

    fn eq(&self, other: &NulError) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl Eq for NulError

    source\u00a7

    impl StructuralPartialEq for NulError

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl Clone for NulError

    source\u00a7

    fn clone(&self) -> NulError

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for NulError

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.0.0 \u00b7 source\u00a7

    impl Display for NulError

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.0.0 \u00b7 source\u00a7

    impl Error for NulError

    source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    1.30.0 \u00b7 source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 \u00b7 source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more
    source\u00a7

    impl PartialEq for NulError

    source\u00a7

    fn eq(&self, other: &NulError) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl Eq for NulError

    source\u00a7

    impl StructuralPartialEq for NulError

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n- T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n+ T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/ffi/index.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/ffi/index.html", "unified_diff": "@@ -3,15 +3,15 @@\n

    This module provides utilities to handle data across non-Rust\n interfaces, like other programming languages and the underlying\n operating system. It is mainly of use for FFI (Foreign Function\n Interface) bindings and code that needs to exchange C-like strings\n with other languages.

    \n

    \u00a7Overview

    \n

    Rust represents owned strings with the String type, and\n-borrowed slices of strings with the str primitive. Both are\n+borrowed slices of strings with the str primitive. Both are\n always in UTF-8 encoding, and may contain nul bytes in the middle,\n i.e., if you look at the bytes that make up the string, there may\n be a \\0 among them. Both String and str store their length\n explicitly; there are no nul terminators at the end of strings\n like in C.

    \n

    C strings are different from Rust strings:

    \n
      \n@@ -24,15 +24,15 @@\n
    • \n

      Character size - C strings may use char or wchar_t-sized\n characters; please note that C\u2019s char is different from Rust\u2019s.\n The C standard leaves the actual sizes of those types open to\n interpretation, but defines different APIs for strings made up of\n each character type. Rust strings are always UTF-8, so different\n Unicode characters will be encoded in a variable number of bytes\n-each. The Rust type char represents a \u2018[Unicode scalar\n+each. The Rust type char represents a \u2018[Unicode scalar\n value]\u2019, which is similar to, but not the same as, a \u2018[Unicode\n code point]\u2019.

      \n
    • \n
    • \n

      Nul terminators and implicit string lengths - Often, C\n strings are nul-terminated, i.e., they have a \\0 character at the\n end. The length of a string buffer is not stored, but has to be\n@@ -54,30 +54,30 @@\n characters in the middle \u2014 a nul character would essentially\n truncate the string. Rust strings can have nul characters in\n the middle, because nul does not have to mark the end of the\n string in Rust.

      \n
    • \n
    \n

    \u00a7Representations of non-Rust strings

    \n-

    CString and CStr are useful when you need to transfer\n+

    CString and CStr are useful when you need to transfer\n UTF-8 strings to and from languages with a C ABI, like Python.

    \n
      \n
    • \n

      From Rust to C: CString represents an owned, C-friendly\n string: it is nul-terminated, and has no internal nul characters.\n Rust code can create a CString out of a normal string (provided\n that the string doesn\u2019t have nul characters in the middle), and\n-then use a variety of methods to obtain a raw *mut u8 that can\n+then use a variety of methods to obtain a raw *mut u8 that can\n then be passed as an argument to functions which use the C\n conventions for strings.

      \n
    • \n
    • \n-

      From C to Rust: CStr represents a borrowed C string; it\n-is what you would use to wrap a raw *const u8 that you got from\n-a C function. A CStr is guaranteed to be a nul-terminated array\n-of bytes. Once you have a CStr, you can convert it to a Rust\n-&str if it\u2019s valid UTF-8, or lossily convert it by adding\n+

      From C to Rust: CStr represents a borrowed C string; it\n+is what you would use to wrap a raw *const u8 that you got from\n+a C function. A CStr is guaranteed to be a nul-terminated array\n+of bytes. Once you have a CStr, you can convert it to a Rust\n+&str if it\u2019s valid UTF-8, or lossily convert it by adding\n replacement characters.

      \n
    • \n
    \n

    Re-exports\u00a7

    Modules\u00a7

    Structs\u00a7

    • A type representing an owned, C-compatible, nul-terminated string with no nul bytes in the\n middle.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/ffi/struct.CString.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/ffi/struct.CString.html", "unified_diff": "@@ -1,45 +1,45 @@\n CString in alloc::ffi - Rust
    \n

    Struct alloc::ffi::CString

    1.64.0 \u00b7 source \u00b7
    pub struct CString { /* private fields */ }
    Expand description

    A type representing an owned, C-compatible, nul-terminated string with no nul bytes in the\n middle.

    \n

    This type serves the purpose of being able to safely generate a\n C-compatible string from a Rust byte slice or vector. An instance of this\n type is a static guarantee that the underlying bytes contain no interior 0\n bytes (\u201cnul characters\u201d) and that the final byte is 0 (\u201cnul terminator\u201d).

    \n-

    CString is to &CStr as String is to &str: the former\n+

    CString is to &CStr as String is to &str: the former\n in each pair are owned strings; the latter are borrowed\n references.

    \n

    \u00a7Creating a CString

    \n

    A CString is created from either a byte slice or a byte vector,\n-or anything that implements Into<Vec<u8>> (for\n+or anything that implements Into<Vec<u8>> (for\n example, you can build a CString straight out of a String or\n-a &str, since both implement that trait).

    \n-

    The CString::new method will actually check that the provided &[u8]\n+a &str, since both implement that trait).

    \n+

    The CString::new method will actually check that the provided &[u8]\n does not have 0 bytes in the middle, and return an error if it\n finds one.

    \n

    \u00a7Extracting a raw pointer to the whole C string

    \n-

    CString implements an as_ptr method through the Deref\n+

    CString implements an as_ptr method through the Deref\n trait. This method will give you a *const c_char which you can\n feed directly to extern functions that expect a nul-terminated\n-string, like C\u2019s strdup(). Notice that as_ptr returns a\n+string, like C\u2019s strdup(). Notice that as_ptr returns a\n read-only pointer; if the C code writes to it, that causes\n undefined behavior.

    \n

    \u00a7Extracting a slice of the whole C string

    \n-

    Alternatively, you can obtain a &[u8] slice from a\n+

    Alternatively, you can obtain a &[u8] slice from a\n CString with the CString::as_bytes method. Slices produced in this\n way do not contain the trailing nul terminator. This is useful\n when you will be calling an extern function that takes a *const u8 argument which is not necessarily nul-terminated, plus another\n argument with the length of the string \u2014 like C\u2019s strndup().\n You can of course get the slice\u2019s length with its\n-len method.

    \n-

    If you need a &[u8] slice with the nul terminator, you\n+len method.

    \n+

    If you need a &[u8] slice with the nul terminator, you\n can use CString::as_bytes_with_nul instead.

    \n

    Once you have the kind of slice you need (with or without a nul\n terminator), you can call the slice\u2019s own\n-as_ptr method to get a read-only raw pointer to pass to\n+as_ptr method to get a read-only raw pointer to pass to\n extern functions. See the documentation for that function for a\n discussion on ensuring the lifetime of the raw pointer.

    \n

    \u00a7Examples

    \n
    \u24d8
    use std::ffi::CString;\n use std::os::raw::c_char;\n \n extern \"C\" {\n@@ -57,15 +57,15 @@\n (a sequence of non-nul bytes terminated by a single nul byte); the\n primary use case for these kinds of strings is interoperating with C-like\n code. Often you will need to transfer ownership to/from that external\n code. It is strongly recommended that you thoroughly read through the\n documentation of CString before use, as improper ownership management\n of CString instances can lead to invalid memory accesses, memory leaks,\n and other memory errors.

    \n-

    Implementations\u00a7

    source\u00a7

    impl CString

    1.0.0 \u00b7 source

    pub fn new<T: Into<Vec<u8>>>(t: T) -> Result<CString, NulError>

    Creates a new C-compatible string from a container of bytes.

    \n+

    Implementations\u00a7

    source\u00a7

    impl CString

    1.0.0 \u00b7 source

    pub fn new<T: Into<Vec<u8>>>(t: T) -> Result<CString, NulError>

    Creates a new C-compatible string from a container of bytes.

    \n

    This function will consume the provided data and use the\n underlying bytes to construct a new string, ensuring that\n there is a trailing 0 byte. This trailing 0 byte will be\n appended by this function; the provided data should not\n contain any 0 bytes in it.

    \n
    \u00a7Examples
    \n
    \u24d8
    use std::ffi::CString;\n@@ -77,43 +77,43 @@\n unsafe {\n     puts(to_print.as_ptr());\n }
    Run
    \n
    \u00a7Errors
    \n

    This function will return an error if the supplied bytes contain an\n internal 0 byte. The NulError returned will contain the bytes as well as\n the position of the nul byte.

    \n-
    1.0.0 \u00b7 source

    pub unsafe fn from_vec_unchecked(v: Vec<u8>) -> Self

    Creates a C-compatible string by consuming a byte vector,\n+

    1.0.0 \u00b7 source

    pub unsafe fn from_vec_unchecked(v: Vec<u8>) -> Self

    Creates a C-compatible string by consuming a byte vector,\n without checking for interior 0 bytes.

    \n

    Trailing 0 byte will be appended by this function.

    \n

    This method is equivalent to CString::new except that no runtime\n assertion is made that v contains no 0 bytes, and it requires an\n actual byte vector, not anything that can be converted to one with Into.

    \n
    \u00a7Examples
    \n
    use std::ffi::CString;\n \n let raw = b\"foo\".to_vec();\n unsafe {\n     let c_string = CString::from_vec_unchecked(raw);\n }
    Run
    \n-
    1.4.0 \u00b7 source

    pub unsafe fn from_raw(ptr: *mut c_char) -> CString

    Retakes ownership of a CString that was transferred to C via\n+

    1.4.0 \u00b7 source

    pub unsafe fn from_raw(ptr: *mut c_char) -> CString

    Retakes ownership of a CString that was transferred to C via\n CString::into_raw.

    \n

    Additionally, the length of the string will be recalculated from the pointer.

    \n
    \u00a7Safety
    \n

    This should only ever be called with a pointer that was earlier\n obtained by calling CString::into_raw. Other usage (e.g., trying to take\n ownership of a string that was allocated by foreign code) is likely to lead\n to undefined behavior or allocator corruption.

    \n

    It should be noted that the length isn\u2019t just \u201crecomputed,\u201d but that\n the recomputed length must match the original length from the\n CString::into_raw call. This means the CString::into_raw/from_raw\n methods should not be used when passing the string to C functions that can\n modify the string\u2019s length.

    \n
    \n

    Note: If you need to borrow a string that was allocated by\n-foreign code, use CStr. If you need to take ownership of\n+foreign code, use CStr. If you need to take ownership of\n a string that was allocated by foreign code, you will need to\n make your own provisions for freeing it appropriately, likely\n with the foreign code\u2019s API to do that.

    \n
    \n
    \u00a7Examples
    \n

    Creates a CString, pass ownership to an extern function (via raw pointer), then retake\n ownership with from_raw:

    \n@@ -127,15 +127,15 @@\n \n let c_string = CString::new(\"Hello!\").expect(\"CString::new failed\");\n let raw = c_string.into_raw();\n unsafe {\n some_extern_function(raw);\n let c_string = CString::from_raw(raw);\n }
    Run
    \n-
    1.4.0 \u00b7 source

    pub fn into_raw(self) -> *mut c_char

    Consumes the CString and transfers ownership of the string to a C caller.

    \n+
    1.4.0 \u00b7 source

    pub fn into_raw(self) -> *mut c_char

    Consumes the CString and transfers ownership of the string to a C caller.

    \n

    The pointer which this function returns must be returned to Rust and reconstituted using\n CString::from_raw to be properly deallocated. Specifically, one\n should not use the standard C free() function to deallocate\n this string.

    \n

    Failure to call CString::from_raw will lead to a memory leak.

    \n

    The C side must not modify the length of the string (by writing a\n nul byte somewhere inside the string or removing the final one) before\n@@ -153,92 +153,92 @@\n assert_eq!(b'o', *ptr.add(1) as u8);\n assert_eq!(b'o', *ptr.add(2) as u8);\n assert_eq!(b'\\0', *ptr.add(3) as u8);\n \n // retake pointer to free memory\n let _ = CString::from_raw(ptr);\n }Run

    \n-
    1.7.0 \u00b7 source

    pub fn into_string(self) -> Result<String, IntoStringError>

    Converts the CString into a String if it contains valid UTF-8 data.

    \n+
    1.7.0 \u00b7 source

    pub fn into_string(self) -> Result<String, IntoStringError>

    Converts the CString into a String if it contains valid UTF-8 data.

    \n

    On failure, ownership of the original CString is returned.

    \n
    \u00a7Examples
    \n
    use std::ffi::CString;\n \n let valid_utf8 = vec![b'f', b'o', b'o'];\n let cstring = CString::new(valid_utf8).expect(\"CString::new failed\");\n assert_eq!(cstring.into_string().expect(\"into_string() call failed\"), \"foo\");\n \n let invalid_utf8 = vec![b'f', 0xff, b'o', b'o'];\n let cstring = CString::new(invalid_utf8).expect(\"CString::new failed\");\n let err = cstring.into_string().err().expect(\"into_string().err() failed\");\n assert_eq!(err.utf8_error().valid_up_to(), 1);
    Run
    \n-
    1.7.0 \u00b7 source

    pub fn into_bytes(self) -> Vec<u8>

    Consumes the CString and returns the underlying byte buffer.

    \n+
    1.7.0 \u00b7 source

    pub fn into_bytes(self) -> Vec<u8>

    Consumes the CString and returns the underlying byte buffer.

    \n

    The returned buffer does not contain the trailing nul\n terminator, and it is guaranteed to not have any interior nul\n bytes.

    \n
    \u00a7Examples
    \n
    use std::ffi::CString;\n \n let c_string = CString::new(\"foo\").expect(\"CString::new failed\");\n let bytes = c_string.into_bytes();\n assert_eq!(bytes, vec![b'f', b'o', b'o']);
    Run
    \n-
    1.7.0 \u00b7 source

    pub fn into_bytes_with_nul(self) -> Vec<u8>

    Equivalent to CString::into_bytes() except that the\n+

    1.7.0 \u00b7 source

    pub fn into_bytes_with_nul(self) -> Vec<u8>

    Equivalent to CString::into_bytes() except that the\n returned vector includes the trailing nul terminator.

    \n
    \u00a7Examples
    \n
    use std::ffi::CString;\n \n let c_string = CString::new(\"foo\").expect(\"CString::new failed\");\n let bytes = c_string.into_bytes_with_nul();\n assert_eq!(bytes, vec![b'f', b'o', b'o', b'\\0']);
    Run
    \n-
    1.0.0 \u00b7 source

    pub fn as_bytes(&self) -> &[u8]

    Returns the contents of this CString as a slice of bytes.

    \n+
    1.0.0 \u00b7 source

    pub fn as_bytes(&self) -> &[u8]

    Returns the contents of this CString as a slice of bytes.

    \n

    The returned slice does not contain the trailing nul\n terminator, and it is guaranteed to not have any interior nul\n bytes. If you need the nul terminator, use\n CString::as_bytes_with_nul instead.

    \n
    \u00a7Examples
    \n
    use std::ffi::CString;\n \n let c_string = CString::new(\"foo\").expect(\"CString::new failed\");\n let bytes = c_string.as_bytes();\n assert_eq!(bytes, &[b'f', b'o', b'o']);
    Run
    \n-
    1.0.0 \u00b7 source

    pub fn as_bytes_with_nul(&self) -> &[u8]

    Equivalent to CString::as_bytes() except that the\n+

    1.0.0 \u00b7 source

    pub fn as_bytes_with_nul(&self) -> &[u8]

    Equivalent to CString::as_bytes() except that the\n returned slice includes the trailing nul terminator.

    \n
    \u00a7Examples
    \n
    use std::ffi::CString;\n \n let c_string = CString::new(\"foo\").expect(\"CString::new failed\");\n let bytes = c_string.as_bytes_with_nul();\n assert_eq!(bytes, &[b'f', b'o', b'o', b'\\0']);
    Run
    \n-
    1.20.0 \u00b7 source

    pub fn as_c_str(&self) -> &CStr

    Extracts a CStr slice containing the entire string.

    \n+
    1.20.0 \u00b7 source

    pub fn as_c_str(&self) -> &CStr

    Extracts a CStr slice containing the entire string.

    \n
    \u00a7Examples
    \n
    use std::ffi::{CString, CStr};\n \n let c_string = CString::new(b\"foo\".to_vec()).expect(\"CString::new failed\");\n let cstr = c_string.as_c_str();\n assert_eq!(cstr,\n            CStr::from_bytes_with_nul(b\"foo\\0\").expect(\"CStr::from_bytes_with_nul failed\"));
    Run
    \n-
    1.20.0 \u00b7 source

    pub fn into_boxed_c_str(self) -> Box<CStr>

    Converts this CString into a boxed CStr.

    \n+
    1.20.0 \u00b7 source

    pub fn into_boxed_c_str(self) -> Box<CStr>

    Converts this CString into a boxed CStr.

    \n
    \u00a7Examples
    \n
    use std::ffi::{CString, CStr};\n \n let c_string = CString::new(b\"foo\".to_vec()).expect(\"CString::new failed\");\n let boxed = c_string.into_boxed_c_str();\n assert_eq!(&*boxed,\n            CStr::from_bytes_with_nul(b\"foo\\0\").expect(\"CStr::from_bytes_with_nul failed\"));
    Run
    \n-
    1.58.0 \u00b7 source

    pub unsafe fn from_vec_with_nul_unchecked(v: Vec<u8>) -> Self

    Converts a Vec<u8> to a CString without checking the\n+

    1.58.0 \u00b7 source

    pub unsafe fn from_vec_with_nul_unchecked(v: Vec<u8>) -> Self

    Converts a Vec<u8> to a CString without checking the\n invariants on the given Vec.

    \n
    \u00a7Safety
    \n

    The given Vec must have one nul byte as its last element.\n This means it cannot be empty nor have any other nul byte anywhere else.

    \n
    \u00a7Example
    \n
    use std::ffi::CString;\n assert_eq!(\n     unsafe { CString::from_vec_with_nul_unchecked(b\"abc\\0\".to_vec()) },\n     unsafe { CString::from_vec_unchecked(b\"abc\".to_vec()) }\n );
    Run
    \n-
    1.58.0 \u00b7 source

    pub fn from_vec_with_nul(v: Vec<u8>) -> Result<Self, FromVecWithNulError>

    Attempts to converts a Vec<u8> to a CString.

    \n+
    1.58.0 \u00b7 source

    pub fn from_vec_with_nul(v: Vec<u8>) -> Result<Self, FromVecWithNulError>

    Attempts to converts a Vec<u8> to a CString.

    \n

    Runtime checks are present to ensure there is only one nul byte in the\n Vec, its last element.

    \n
    \u00a7Errors
    \n

    If a nul byte is present and not the last element or no nul bytes\n is present, an error will be returned.

    \n
    \u00a7Examples
    \n

    A successful conversion will produce the same result as CString::new\n@@ -253,21 +253,21 @@\n

    An incorrectly formatted Vec will produce an error.

    \n \n
    use std::ffi::{CString, FromVecWithNulError};\n // Interior nul byte\n let _: FromVecWithNulError = CString::from_vec_with_nul(b\"a\\0bc\".to_vec()).unwrap_err();\n // No nul byte\n let _: FromVecWithNulError = CString::from_vec_with_nul(b\"abc\".to_vec()).unwrap_err();
    Run
    \n-

    Methods from Deref<Target = CStr>\u00a7

    1.4.0 \u00b7 source

    pub fn to_string_lossy(&self) -> Cow<'_, str>

    Converts a CStr into a Cow<str>.

    \n+

    Methods from Deref<Target = CStr>\u00a7

    1.4.0 \u00b7 source

    pub fn to_string_lossy(&self) -> Cow<'_, str>

    Converts a CStr into a Cow<str>.

    \n

    If the contents of the CStr are valid UTF-8 data, this\n-function will return a Cow::Borrowed(&str)\n-with the corresponding &str slice. Otherwise, it will\n+function will return a Cow::Borrowed(&str)\n+with the corresponding &str slice. Otherwise, it will\n replace any invalid UTF-8 sequences with\n-U+FFFD REPLACEMENT CHARACTER and return a\n-Cow::Owned(&str) with the result.

    \n+U+FFFD REPLACEMENT CHARACTER and return a\n+Cow::Owned(&str) with the result.

    \n
    \u00a7Examples
    \n

    Calling to_string_lossy on a CStr containing valid UTF-8:

    \n \n
    use std::borrow::Cow;\n use std::ffi::CStr;\n \n let cstr = CStr::from_bytes_with_nul(b\"Hello World\\0\")\n@@ -280,20 +280,20 @@\n \n let cstr = CStr::from_bytes_with_nul(b\"Hello \\xF0\\x90\\x80World\\0\")\n                  .expect(\"CStr::from_bytes_with_nul failed\");\n assert_eq!(\n     cstr.to_string_lossy(),\n     Cow::Owned(String::from(\"Hello \ufffdWorld\")) as Cow<'_, str>\n );
    Run
    \n-
    1.0.0 \u00b7 source

    pub fn as_ptr(&self) -> *const i8

    Returns the inner pointer to this C string.

    \n+
    1.0.0 \u00b7 source

    pub fn as_ptr(&self) -> *const i8

    Returns the inner pointer to this C string.

    \n

    The returned pointer will be valid for as long as self is, and points\n to a contiguous region of memory terminated with a 0 byte to represent\n the end of the string.

    \n

    The type of the returned pointer is\n-*const c_char, and whether it\u2019s\n+*const c_char, and whether it\u2019s\n an alias for *const i8 or *const u8 is platform-specific.

    \n

    WARNING

    \n

    The returned pointer is read-only; writing to it (including passing it\n to C code that writes to it) causes undefined behavior.

    \n

    It is your responsibility to make sure that the underlying memory is not\n freed too early. For example, the following code will cause undefined\n behavior when ptr is used inside the unsafe block:

    \n@@ -318,15 +318,15 @@\n let ptr = hello.as_ptr();\n unsafe {\n // `ptr` is valid because `hello` is in scope\n *ptr;\n }Run
    \n

    This way, the lifetime of the CString in hello encompasses\n the lifetime of ptr and the unsafe block.

    \n-
    source

    pub fn count_bytes(&self) -> usize

    \ud83d\udd2cThis is a nightly-only experimental API. (cstr_count_bytes #114441)

    Returns the length of self. Like C\u2019s strlen, this does not include the nul terminator.

    \n+
    source

    pub fn count_bytes(&self) -> usize

    \ud83d\udd2cThis is a nightly-only experimental API. (cstr_count_bytes #114441)

    Returns the length of self. Like C\u2019s strlen, this does not include the nul terminator.

    \n
    \n

    Note: This method is currently implemented as a constant-time\n cast, but it is planned to alter its definition in the future to\n perform the length calculation whenever this method is called.

    \n
    \n
    \u00a7Examples
    \n
    #![feature(cstr_count_bytes)]\n@@ -334,98 +334,98 @@\n use std::ffi::CStr;\n \n let cstr = CStr::from_bytes_with_nul(b\"foo\\0\").unwrap();\n assert_eq!(cstr.count_bytes(), 3);\n \n let cstr = CStr::from_bytes_with_nul(b\"\\0\").unwrap();\n assert_eq!(cstr.count_bytes(), 0);
    Run
    \n-
    1.71.0 \u00b7 source

    pub fn is_empty(&self) -> bool

    Returns true if self.to_bytes() has a length of 0.

    \n+
    1.71.0 \u00b7 source

    pub fn is_empty(&self) -> bool

    Returns true if self.to_bytes() has a length of 0.

    \n
    \u00a7Examples
    \n
    use std::ffi::CStr;\n \n let cstr = CStr::from_bytes_with_nul(b\"foo\\0\")?;\n assert!(!cstr.is_empty());\n \n let empty_cstr = CStr::from_bytes_with_nul(b\"\\0\")?;\n assert!(empty_cstr.is_empty());
    Run
    \n-
    1.0.0 \u00b7 source

    pub fn to_bytes(&self) -> &[u8]

    Converts this C string to a byte slice.

    \n+
    1.0.0 \u00b7 source

    pub fn to_bytes(&self) -> &[u8]

    Converts this C string to a byte slice.

    \n

    The returned slice will not contain the trailing nul terminator that this C\n string has.

    \n
    \n

    Note: This method is currently implemented as a constant-time\n cast, but it is planned to alter its definition in the future to\n perform the length calculation whenever this method is called.

    \n
    \n
    \u00a7Examples
    \n
    use std::ffi::CStr;\n \n let cstr = CStr::from_bytes_with_nul(b\"foo\\0\").expect(\"CStr::from_bytes_with_nul failed\");\n assert_eq!(cstr.to_bytes(), b\"foo\");
    Run
    \n-
    1.0.0 \u00b7 source

    pub fn to_bytes_with_nul(&self) -> &[u8]

    Converts this C string to a byte slice containing the trailing 0 byte.

    \n-

    This function is the equivalent of CStr::to_bytes except that it\n+

    1.0.0 \u00b7 source

    pub fn to_bytes_with_nul(&self) -> &[u8]

    Converts this C string to a byte slice containing the trailing 0 byte.

    \n+

    This function is the equivalent of CStr::to_bytes except that it\n will retain the trailing nul terminator instead of chopping it off.

    \n
    \n

    Note: This method is currently implemented as a 0-cost cast, but\n it is planned to alter its definition in the future to perform the\n length calculation whenever this method is called.

    \n
    \n
    \u00a7Examples
    \n
    use std::ffi::CStr;\n \n let cstr = CStr::from_bytes_with_nul(b\"foo\\0\").expect(\"CStr::from_bytes_with_nul failed\");\n assert_eq!(cstr.to_bytes_with_nul(), b\"foo\\0\");
    Run
    \n-
    source

    pub fn bytes(&self) -> Bytes<'_>

    \ud83d\udd2cThis is a nightly-only experimental API. (cstr_bytes #112115)

    Iterates over the bytes in this C string.

    \n+
    source

    pub fn bytes(&self) -> Bytes<'_>

    \ud83d\udd2cThis is a nightly-only experimental API. (cstr_bytes #112115)

    Iterates over the bytes in this C string.

    \n

    The returned iterator will not contain the trailing nul terminator\n that this C string has.

    \n
    \u00a7Examples
    \n
    #![feature(cstr_bytes)]\n use std::ffi::CStr;\n \n let cstr = CStr::from_bytes_with_nul(b\"foo\\0\").expect(\"CStr::from_bytes_with_nul failed\");\n assert!(cstr.bytes().eq(*b\"foo\"));
    Run
    \n-
    1.4.0 \u00b7 source

    pub fn to_str(&self) -> Result<&str, Utf8Error>

    Yields a &str slice if the CStr contains valid UTF-8.

    \n+
    1.4.0 \u00b7 source

    pub fn to_str(&self) -> Result<&str, Utf8Error>

    Yields a &str slice if the CStr contains valid UTF-8.

    \n

    If the contents of the CStr are valid UTF-8 data, this\n-function will return the corresponding &str slice. Otherwise,\n+function will return the corresponding &str slice. Otherwise,\n it will return an error with details of where UTF-8 validation failed.

    \n
    \u00a7Examples
    \n
    use std::ffi::CStr;\n \n let cstr = CStr::from_bytes_with_nul(b\"foo\\0\").expect(\"CStr::from_bytes_with_nul failed\");\n assert_eq!(cstr.to_str(), Ok(\"foo\"));
    Run
    \n-

    Trait Implementations\u00a7

    1.7.0 \u00b7 source\u00a7

    impl AsRef<CStr> for CString

    source\u00a7

    fn as_ref(&self) -> &CStr

    Converts this type into a shared reference of the (usually inferred) input type.
    1.3.0 \u00b7 source\u00a7

    impl Borrow<CStr> for CString

    source\u00a7

    fn borrow(&self) -> &CStr

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl Clone for CString

    source\u00a7

    fn clone(&self) -> CString

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.0.0 \u00b7 source\u00a7

    impl Debug for CString

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.10.0 \u00b7 source\u00a7

    impl Default for CString

    source\u00a7

    fn default() -> CString

    Creates an empty CString.

    \n-
    1.0.0 \u00b7 source\u00a7

    impl Deref for CString

    \u00a7

    type Target = CStr

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &CStr

    Dereferences the value.
    1.13.0 \u00b7 source\u00a7

    impl Drop for CString

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    1.7.0 \u00b7 source\u00a7

    impl From<&CStr> for CString

    source\u00a7

    fn from(s: &CStr) -> CString

    Converts a &CStr into a CString\n+

    Trait Implementations\u00a7

    1.7.0 \u00b7 source\u00a7

    impl AsRef<CStr> for CString

    source\u00a7

    fn as_ref(&self) -> &CStr

    Converts this type into a shared reference of the (usually inferred) input type.
    1.3.0 \u00b7 source\u00a7

    impl Borrow<CStr> for CString

    source\u00a7

    fn borrow(&self) -> &CStr

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl Clone for CString

    source\u00a7

    fn clone(&self) -> CString

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.0.0 \u00b7 source\u00a7

    impl Debug for CString

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.10.0 \u00b7 source\u00a7

    impl Default for CString

    source\u00a7

    fn default() -> CString

    Creates an empty CString.

    \n+
    1.0.0 \u00b7 source\u00a7

    impl Deref for CString

    \u00a7

    type Target = CStr

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &CStr

    Dereferences the value.
    1.13.0 \u00b7 source\u00a7

    impl Drop for CString

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    1.7.0 \u00b7 source\u00a7

    impl From<&CStr> for CString

    source\u00a7

    fn from(s: &CStr) -> CString

    Converts a &CStr into a CString\n by copying the contents into a new allocation.

    \n-
    1.28.0 \u00b7 source\u00a7

    impl<'a> From<&'a CString> for Cow<'a, CStr>

    source\u00a7

    fn from(s: &'a CString) -> Cow<'a, CStr>

    Converts a &CString into a borrowed Cow without copying or allocating.

    \n-
    1.18.0 \u00b7 source\u00a7

    impl From<Box<CStr>> for CString

    source\u00a7

    fn from(s: Box<CStr>) -> CString

    Converts a Box<CStr> into a CString without copying or allocating.

    \n-
    1.24.0 \u00b7 source\u00a7

    impl From<CString> for Arc<CStr>

    source\u00a7

    fn from(s: CString) -> Arc<CStr>

    Converts a CString into an Arc<CStr> by moving the CString\n+

    1.28.0 \u00b7 source\u00a7

    impl<'a> From<&'a CString> for Cow<'a, CStr>

    source\u00a7

    fn from(s: &'a CString) -> Cow<'a, CStr>

    Converts a &CString into a borrowed Cow without copying or allocating.

    \n+
    1.18.0 \u00b7 source\u00a7

    impl From<Box<CStr>> for CString

    source\u00a7

    fn from(s: Box<CStr>) -> CString

    Converts a Box<CStr> into a CString without copying or allocating.

    \n+
    1.24.0 \u00b7 source\u00a7

    impl From<CString> for Arc<CStr>

    source\u00a7

    fn from(s: CString) -> Arc<CStr>

    Converts a CString into an Arc<CStr> by moving the CString\n data into a new Arc buffer.

    \n-
    1.20.0 \u00b7 source\u00a7

    impl From<CString> for Box<CStr>

    source\u00a7

    fn from(s: CString) -> Box<CStr>

    Converts a CString into a Box<CStr> without copying or allocating.

    \n-
    1.28.0 \u00b7 source\u00a7

    impl<'a> From<CString> for Cow<'a, CStr>

    source\u00a7

    fn from(s: CString) -> Cow<'a, CStr>

    Converts a CString into an owned Cow without copying or allocating.

    \n-
    1.24.0 \u00b7 source\u00a7

    impl From<CString> for Rc<CStr>

    source\u00a7

    fn from(s: CString) -> Rc<CStr>

    Converts a CString into an Rc<CStr> by moving the CString\n+

    1.20.0 \u00b7 source\u00a7

    impl From<CString> for Box<CStr>

    source\u00a7

    fn from(s: CString) -> Box<CStr>

    Converts a CString into a Box<CStr> without copying or allocating.

    \n+
    1.28.0 \u00b7 source\u00a7

    impl<'a> From<CString> for Cow<'a, CStr>

    source\u00a7

    fn from(s: CString) -> Cow<'a, CStr>

    Converts a CString into an owned Cow without copying or allocating.

    \n+
    1.24.0 \u00b7 source\u00a7

    impl From<CString> for Rc<CStr>

    source\u00a7

    fn from(s: CString) -> Rc<CStr>

    Converts a CString into an Rc<CStr> by moving the CString\n data into a new Rc buffer.

    \n-
    1.7.0 \u00b7 source\u00a7

    impl From<CString> for Vec<u8>

    source\u00a7

    fn from(s: CString) -> Vec<u8>

    Converts a CString into a Vec<u8>.

    \n+
    1.7.0 \u00b7 source\u00a7

    impl From<CString> for Vec<u8>

    source\u00a7

    fn from(s: CString) -> Vec<u8>

    Converts a CString into a Vec<u8>.

    \n

    The conversion consumes the CString, and removes the terminating NUL byte.

    \n-
    1.28.0 \u00b7 source\u00a7

    impl<'a> From<Cow<'a, CStr>> for CString

    source\u00a7

    fn from(s: Cow<'a, CStr>) -> Self

    Converts a Cow<'a, CStr> into a CString, by copying the contents if they are\n+

    1.28.0 \u00b7 source\u00a7

    impl<'a> From<Cow<'a, CStr>> for CString

    source\u00a7

    fn from(s: Cow<'a, CStr>) -> Self

    Converts a Cow<'a, CStr> into a CString, by copying the contents if they are\n borrowed.

    \n-
    1.43.0 \u00b7 source\u00a7

    impl From<Vec<NonZero<u8>>> for CString

    source\u00a7

    fn from(v: Vec<NonZero<u8>>) -> CString

    Converts a Vec<NonZero<u8>> into a CString without\n+

    1.43.0 \u00b7 source\u00a7

    impl From<Vec<NonZero<u8>>> for CString

    source\u00a7

    fn from(v: Vec<NonZero<u8>>) -> CString

    Converts a Vec<NonZero<u8>> into a CString without\n copying nor checking for inner nul bytes.

    \n-
    source\u00a7

    impl Hash for CString

    source\u00a7

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 \u00b7 source\u00a7

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n- H: Hasher,\n- Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    1.7.0 \u00b7 source\u00a7

    impl Index<RangeFull> for CString

    \u00a7

    type Output = CStr

    The returned type after indexing.
    source\u00a7

    fn index(&self, _index: RangeFull) -> &CStr

    Performs the indexing (container[index]) operation. Read more
    source\u00a7

    impl Ord for CString

    source\u00a7

    fn cmp(&self, other: &CString) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 \u00b7 source\u00a7

    fn max(self, other: Self) -> Self
    where\n- Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 \u00b7 source\u00a7

    fn min(self, other: Self) -> Self
    where\n- Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 \u00b7 source\u00a7

    fn clamp(self, min: Self, max: Self) -> Self
    where\n- Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source\u00a7

    impl PartialEq for CString

    source\u00a7

    fn eq(&self, other: &CString) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl PartialOrd for CString

    source\u00a7

    fn partial_cmp(&self, other: &CString) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 \u00b7 source\u00a7

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 \u00b7 source\u00a7

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\n-operator. Read more
    1.0.0 \u00b7 source\u00a7

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 \u00b7 source\u00a7

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\n-operator. Read more
    source\u00a7

    impl Eq for CString

    source\u00a7

    impl StructuralPartialEq for CString

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+
    source\u00a7

    impl Hash for CString

    source\u00a7

    fn hash<__H: Hasher>(&self, state: &mut __H)

    Feeds this value into the given Hasher. Read more
    1.3.0 \u00b7 source\u00a7

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n+ H: Hasher,\n+ Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    1.7.0 \u00b7 source\u00a7

    impl Index<RangeFull> for CString

    \u00a7

    type Output = CStr

    The returned type after indexing.
    source\u00a7

    fn index(&self, _index: RangeFull) -> &CStr

    Performs the indexing (container[index]) operation. Read more
    source\u00a7

    impl Ord for CString

    source\u00a7

    fn cmp(&self, other: &CString) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 \u00b7 source\u00a7

    fn max(self, other: Self) -> Self
    where\n+ Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 \u00b7 source\u00a7

    fn min(self, other: Self) -> Self
    where\n+ Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 \u00b7 source\u00a7

    fn clamp(self, min: Self, max: Self) -> Self
    where\n+ Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source\u00a7

    impl PartialEq for CString

    source\u00a7

    fn eq(&self, other: &CString) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl PartialOrd for CString

    source\u00a7

    fn partial_cmp(&self, other: &CString) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    1.0.0 \u00b7 source\u00a7

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    1.0.0 \u00b7 source\u00a7

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\n+operator. Read more
    1.0.0 \u00b7 source\u00a7

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    1.0.0 \u00b7 source\u00a7

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\n+operator. Read more
    source\u00a7

    impl Eq for CString

    source\u00a7

    impl StructuralPartialEq for CString

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/derive.Debug.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/derive.Debug.html", "unified_diff": "@@ -1,3 +1,3 @@\n Debug in alloc::fmt - Rust
    \n-

    Derive Macro alloc::fmt::Debug

    1.38.0 \u00b7 source \u00b7
    #[derive(Debug)]
    Expand description

    Derive macro generating an impl of the trait Debug.

    \n+

    Derive Macro alloc::fmt::Debug

    1.38.0 \u00b7 source \u00b7
    #[derive(Debug)]
    Expand description

    Derive macro generating an impl of the trait Debug.

    \n
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/enum.Alignment.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/enum.Alignment.html", "unified_diff": "@@ -1,23 +1,23 @@\n Alignment in alloc::fmt - Rust
    \n-

    Enum alloc::fmt::Alignment

    1.28.0 \u00b7 source \u00b7
    pub enum Alignment {\n+    

    Enum alloc::fmt::Alignment

    1.28.0 \u00b7 source \u00b7
    pub enum Alignment {\n     Left,\n     Right,\n     Center,\n }
    Expand description

    Possible alignments returned by Formatter::align

    \n

    Variants\u00a7

    \u00a7

    Left

    Indication that contents should be left-aligned.

    \n
    \u00a7

    Right

    Indication that contents should be right-aligned.

    \n
    \u00a7

    Center

    Indication that contents should be center-aligned.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl Clone for Alignment

    source\u00a7

    fn clone(&self) -> Alignment

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for Alignment

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl PartialEq for Alignment

    source\u00a7

    fn eq(&self, other: &Alignment) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl Copy for Alignment

    source\u00a7

    impl Eq for Alignment

    source\u00a7

    impl StructuralPartialEq for Alignment

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl Clone for Alignment

    source\u00a7

    fn clone(&self) -> Alignment

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for Alignment

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl PartialEq for Alignment

    source\u00a7

    fn eq(&self, other: &Alignment) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl Copy for Alignment

    source\u00a7

    impl Eq for Alignment

    source\u00a7

    impl StructuralPartialEq for Alignment

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/fn.format.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/fn.format.html", "unified_diff": "@@ -1,11 +1,11 @@\n format in alloc::fmt - Rust
    \n

    Function alloc::fmt::format

    1.0.0 \u00b7 source \u00b7
    pub fn format(args: Arguments<'_>) -> String
    Expand description

    The format function takes an Arguments struct and returns the resulting\n formatted string.

    \n-

    The Arguments instance can be created with the format_args! macro.

    \n+

    The Arguments instance can be created with the format_args! macro.

    \n

    \u00a7Examples

    \n

    Basic usage:

    \n \n
    use std::fmt;\n \n let s = fmt::format(format_args!(\"Hello, {}!\", \"world\"));\n assert_eq!(s, \"Hello, world!\");
    Run
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/fn.write.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/fn.write.html", "unified_diff": "@@ -1,22 +1,22 @@\n write in alloc::fmt - Rust
    \n-

    Function alloc::fmt::write

    1.0.0 \u00b7 source \u00b7
    pub fn write(output: &mut dyn Write, args: Arguments<'_>) -> Result<(), Error>
    Expand description

    The write function takes an output stream, and an Arguments struct\n+

    Function alloc::fmt::write

    1.0.0 \u00b7 source \u00b7
    pub fn write(output: &mut dyn Write, args: Arguments<'_>) -> Result<(), Error>
    Expand description

    The write function takes an output stream, and an Arguments struct\n that can be precompiled with the format_args! macro.

    \n

    The arguments will be formatted according to the specified format string\n into the output stream provided.

    \n

    \u00a7Examples

    \n

    Basic usage:

    \n \n
    use std::fmt;\n \n let mut output = String::new();\n fmt::write(&mut output, format_args!(\"Hello {}!\", \"world\"))\n     .expect(\"Error occurred while trying to write in String\");\n assert_eq!(output, \"Hello world!\");
    Run
    \n-

    Please note that using write! might be preferable. Example:

    \n+

    Please note that using write! might be preferable. Example:

    \n \n
    use std::fmt::Write;\n \n let mut output = String::new();\n write!(&mut output, \"Hello {}!\", \"world\")\n     .expect(\"Error occurred while trying to write in String\");\n assert_eq!(output, \"Hello world!\");
    Run
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/index.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/index.html", "unified_diff": "@@ -85,17 +85,17 @@\n println!(\"Hello {:width$}!\", \"x\", width = 5);\n let width = 5;\n println!(\"Hello {:width$}!\", \"x\");Run
    \n

    This is a parameter for the \u201cminimum width\u201d that the format should take up.\n If the value\u2019s string does not fill up this many characters, then the\n padding specified by fill/alignment will be used to take up the required\n space (see below).

    \n-

    The value for the width can also be provided as a usize in the list of\n+

    The value for the width can also be provided as a usize in the list of\n parameters by adding a postfix $, indicating that the second argument is\n-a usize specifying the width.

    \n+a usize specifying the width.

    \n

    Referring to an argument with the dollar syntax does not affect the \u201cnext\n argument\u201d counter, so it\u2019s usually a good idea to refer to arguments by\n position, or use named arguments.

    \n

    \u00a7Fill/Alignment

    \n
    assert_eq!(format!(\"Hello {:<5}!\", \"x\"),  \"Hello x    !\");\n assert_eq!(format!(\"Hello {:-<5}!\", \"x\"), \"Hello x----!\");\n assert_eq!(format!(\"Hello {:^5}!\", \"x\"),  \"Hello   x  !\");\n@@ -275,24 +275,24 @@\n type := '' | '?' | 'x?' | 'X?' | identifier\n count := parameter | integer\n parameter := argument '$'\n 
    \n

    In the above grammar,

    \n
      \n
    • text must not contain any '{' or '}' characters,
    • \n-
    • ws is any character for which char::is_whitespace returns true, has no semantic\n+
    • ws is any character for which char::is_whitespace returns true, has no semantic\n meaning and is completely optional,
    • \n
    • integer is a decimal integer that may contain leading zeroes and must fit into an usize and
    • \n
    • identifier is an IDENTIFIER_OR_KEYWORD (not an IDENTIFIER) as defined by the Rust language reference.
    • \n
    \n

    \u00a7Formatting traits

    \n

    When requesting that an argument be formatted with a particular type, you\n are actually requesting that an argument ascribes to a particular trait.\n-This allows multiple actual types to be formatted via {:x} (like i8 as\n-well as isize). The current mapping of types to traits is:

    \n+This allows multiple actual types to be formatted via {:x} (like i8 as\n+well as isize). The current mapping of types to traits is:

    \n
      \n
    • nothing \u21d2 Display
    • \n
    • ? \u21d2 Debug
    • \n
    • x? \u21d2 Debug with lower-case hexadecimal integers
    • \n
    • X? \u21d2 Debug with upper-case hexadecimal integers
    • \n
    • o \u21d2 Octal
    • \n
    • x \u21d2 LowerHex
    • \n@@ -314,17 +314,17 @@\n

      Your type will be passed as self by-reference, and then the function\n should emit output into the Formatter f which implements fmt::Write. It is up to each\n format trait implementation to correctly adhere to the requested formatting parameters.\n The values of these parameters can be accessed with methods of the\n Formatter struct. In order to help with this, the Formatter struct also\n provides some helper methods.

      \n

      Additionally, the return value of this function is fmt::Result which is a\n-type alias of Result<(), std::fmt::Error>. Formatting implementations\n+type alias of Result<(), std::fmt::Error>. Formatting implementations\n should ensure that they propagate errors from the Formatter (e.g., when\n-calling write!). However, they should never return errors spuriously. That\n+calling write!). However, they should never return errors spuriously. That\n is, a formatting implementation must and may only return an error if the\n passed-in Formatter returns an error. This is because, contrary to what\n the function signature might suggest, string formatting is an infallible\n operation. This function only returns a result because writing to the\n underlying stream might fail and it must provide a way to propagate the fact\n that an error has occurred back up the stack.

      \n

      An example of implementing the formatting traits would look\n@@ -396,25 +396,25 @@\n writeln! // same as write but appends a newline\n print! // the format string is printed to the standard output\n println! // same as print but appends a newline\n eprint! // the format string is printed to the standard error\n eprintln! // same as eprint but appends a newline\n format_args! // described below.Run

    \n

    \u00a7write!

    \n-

    write! and writeln! are two macros which are used to emit the format string\n+

    write! and writeln! are two macros which are used to emit the format string\n to a specified stream. This is used to prevent intermediate allocations of\n format strings and instead directly write the output. Under the hood, this\n function is actually invoking the write_fmt function defined on the\n std::io::Write and the std::fmt::Write trait. Example usage is:

    \n \n
    use std::io::Write;\n let mut w = Vec::new();\n write!(&mut w, \"Hello {}!\", \"world\");
    Run
    \n

    \u00a7print!

    \n-

    This and println! emit their output to stdout. Similarly to the write!\n+

    This and println! emit their output to stdout. Similarly to the write!\n macro, the goal of these macros is to avoid intermediate allocations when\n printing output. Example usage is:

    \n \n
    print!(\"Hello {}!\", \"world\");\n println!(\"I have a newline {}\", \"character at the end\");
    Run
    \n

    \u00a7eprint!

    \n

    The eprint! and eprintln! macros are identical to\n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.Arguments.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.Arguments.html", "unified_diff": "@@ -1,25 +1,25 @@\n Arguments in alloc::fmt - Rust

    \n-

    Struct alloc::fmt::Arguments

    1.0.0 \u00b7 source \u00b7
    pub struct Arguments<'a> { /* private fields */ }
    Expand description

    This structure represents a safely precompiled version of a format string\n+

    Struct alloc::fmt::Arguments

    1.0.0 \u00b7 source \u00b7
    pub struct Arguments<'a> { /* private fields */ }
    Expand description

    This structure represents a safely precompiled version of a format string\n and its arguments. This cannot be generated at runtime because it cannot\n safely be done, so no constructors are given and the fields are private\n to prevent modification.

    \n-

    The format_args! macro will safely create an instance of this structure.\n+

    The format_args! macro will safely create an instance of this structure.\n The macro validates the format string at compile-time so usage of the\n write() and format() functions can be safely performed.

    \n-

    You can use the Arguments<'a> that format_args! returns in Debug\n+

    You can use the Arguments<'a> that format_args! returns in Debug\n and Display contexts as seen below. The example also shows that Debug\n and Display format to the same thing: the interpolated format string\n in format_args!.

    \n \n
    let debug = format!(\"{:?}\", format_args!(\"{} foo {:?}\", 1, 2));\n let display = format!(\"{}\", format_args!(\"{} foo {:?}\", 1, 2));\n assert_eq!(\"1 foo 2\", display);\n assert_eq!(display, debug);
    Run
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a> Arguments<'a>

    1.52.0 (const: unstable) \u00b7 source

    pub fn as_str(&self) -> Option<&'static str>

    Get the formatted string, if it has no arguments to be formatted at runtime.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a> Arguments<'a>

    1.52.0 (const: unstable) \u00b7 source

    pub fn as_str(&self) -> Option<&'static str>

    Get the formatted string, if it has no arguments to be formatted at runtime.

    \n

    This can be used to avoid allocations in some cases.

    \n
    \u00a7Guarantees
    \n

    For format_args!("just a literal"), this function is guaranteed to\n return Some("just a literal").

    \n

    For most cases with placeholders, this function will return None.

    \n

    However, the compiler may perform optimizations that can cause this\n function to return Some(_) even if the format string contains\n@@ -41,20 +41,20 @@\n write_str(&args.to_string());\n }\n }Run

    \n \n
    assert_eq!(format_args!(\"hello\").as_str(), Some(\"hello\"));\n assert_eq!(format_args!(\"\").as_str(), Some(\"\"));\n assert_eq!(format_args!(\"{:?}\", std::env::current_dir()).as_str(), None);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for Arguments<'a>

    source\u00a7

    fn clone(&self) -> Arguments<'a>

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for Arguments<'_>

    source\u00a7

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Display for Arguments<'_>

    source\u00a7

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> Copy for Arguments<'a>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for Arguments<'a>

    \u00a7

    impl<'a> !RefUnwindSafe for Arguments<'a>

    \u00a7

    impl<'a> !Send for Arguments<'a>

    \u00a7

    impl<'a> !Sync for Arguments<'a>

    \u00a7

    impl<'a> Unpin for Arguments<'a>

    \u00a7

    impl<'a> !UnwindSafe for Arguments<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for Arguments<'a>

    source\u00a7

    fn clone(&self) -> Arguments<'a>

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for Arguments<'_>

    source\u00a7

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Display for Arguments<'_>

    source\u00a7

    fn fmt(&self, fmt: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> Copy for Arguments<'a>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for Arguments<'a>

    \u00a7

    impl<'a> !RefUnwindSafe for Arguments<'a>

    \u00a7

    impl<'a> !Send for Arguments<'a>

    \u00a7

    impl<'a> !Sync for Arguments<'a>

    \u00a7

    impl<'a> Unpin for Arguments<'a>

    \u00a7

    impl<'a> !UnwindSafe for Arguments<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n- T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n+ T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.DebugList.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.DebugList.html", "unified_diff": "@@ -1,9 +1,9 @@\n DebugList in alloc::fmt - Rust
    \n-

    Struct alloc::fmt::DebugList

    1.2.0 \u00b7 source \u00b7
    pub struct DebugList<'a, 'b>
    where\n+

    Struct alloc::fmt::DebugList

    1.2.0 \u00b7 source \u00b7
    pub struct DebugList<'a, 'b>
    where\n 'b: 'a,
    { /* private fields */ }
    Expand description

    A struct to help with fmt::Debug implementations.

    \n

    This is useful when you wish to output a formatted list of items as a part\n of your Debug::fmt implementation.

    \n

    This can be constructed by the Formatter::debug_list method.

    \n

    \u00a7Examples

    \n
    use std::fmt;\n \n@@ -15,16 +15,16 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(vec![10, 11])),\n     \"[10, 11]\",\n );
    Run
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, 'b> DebugList<'a, 'b>
    where\n- 'b: 'a,

    source

    pub fn entry(&mut self, entry: &dyn Debug) -> &mut DebugList<'a, 'b>

    Adds a new entry to the list output.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a, 'b> DebugList<'a, 'b>
    where\n+ 'b: 'a,

    source

    pub fn entry(&mut self, entry: &dyn Debug) -> &mut DebugList<'a, 'b>

    Adds a new entry to the list output.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(Vec<i32>, Vec<u32>);\n \n impl fmt::Debug for Foo {\n     fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {\n@@ -35,21 +35,21 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(vec![10, 11], vec![12, 13])),\n     \"[[10, 11], [12, 13]]\",\n );
    Run
    \n-
    source

    pub fn entry_with<F>(&mut self, entry_fmt: F) -> &mut DebugList<'a, 'b>
    where\n- F: FnOnce(&mut Formatter<'_>) -> Result<(), Error>,

    \ud83d\udd2cThis is a nightly-only experimental API. (debug_closure_helpers #117729)

    Adds a new entry to the list output.

    \n+
    source

    pub fn entry_with<F>(&mut self, entry_fmt: F) -> &mut DebugList<'a, 'b>
    where\n+ F: FnOnce(&mut Formatter<'_>) -> Result<(), Error>,

    \ud83d\udd2cThis is a nightly-only experimental API. (debug_closure_helpers #117729)

    Adds a new entry to the list output.

    \n

    This method is equivalent to DebugList::entry, but formats the\n entry using a provided closure rather than by calling Debug::fmt.

    \n-
    source

    pub fn entries<D, I>(&mut self, entries: I) -> &mut DebugList<'a, 'b>
    where\n+

    source

    pub fn entries<D, I>(&mut self, entries: I) -> &mut DebugList<'a, 'b>
    where\n D: Debug,\n- I: IntoIterator<Item = D>,

    Adds the contents of an iterator of entries to the list output.

    \n+ I: IntoIterator<Item = D>,

    Adds the contents of an iterator of entries to the list output.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(Vec<i32>, Vec<u32>);\n \n impl fmt::Debug for Foo {\n     fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {\n@@ -60,15 +60,15 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(vec![10, 11], vec![12, 13])),\n     \"[10, 11, 12, 13]\",\n );
    Run
    \n-
    source

    pub fn finish(&mut self) -> Result<(), Error>

    Finishes output and returns any error encountered.

    \n+
    source

    pub fn finish(&mut self) -> Result<(), Error>

    Finishes output and returns any error encountered.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(Vec<i32>);\n \n impl fmt::Debug for Foo {\n     fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {\n@@ -78,18 +78,18 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(vec![10, 11])),\n     \"[10, 11]\",\n );
    Run
    \n-

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, 'b> Freeze for DebugList<'a, 'b>

    \u00a7

    impl<'a, 'b> !RefUnwindSafe for DebugList<'a, 'b>

    \u00a7

    impl<'a, 'b> !Send for DebugList<'a, 'b>

    \u00a7

    impl<'a, 'b> !Sync for DebugList<'a, 'b>

    \u00a7

    impl<'a, 'b> Unpin for DebugList<'a, 'b>

    \u00a7

    impl<'a, 'b> !UnwindSafe for DebugList<'a, 'b>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, 'b> Freeze for DebugList<'a, 'b>

    \u00a7

    impl<'a, 'b> !RefUnwindSafe for DebugList<'a, 'b>

    \u00a7

    impl<'a, 'b> !Send for DebugList<'a, 'b>

    \u00a7

    impl<'a, 'b> !Sync for DebugList<'a, 'b>

    \u00a7

    impl<'a, 'b> Unpin for DebugList<'a, 'b>

    \u00a7

    impl<'a, 'b> !UnwindSafe for DebugList<'a, 'b>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.DebugMap.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.DebugMap.html", "unified_diff": "@@ -1,9 +1,9 @@\n DebugMap in alloc::fmt - Rust
    \n-

    Struct alloc::fmt::DebugMap

    1.2.0 \u00b7 source \u00b7
    pub struct DebugMap<'a, 'b>
    where\n+

    Struct alloc::fmt::DebugMap

    1.2.0 \u00b7 source \u00b7
    pub struct DebugMap<'a, 'b>
    where\n 'b: 'a,
    { /* private fields */ }
    Expand description

    A struct to help with fmt::Debug implementations.

    \n

    This is useful when you wish to output a formatted map as a part of your\n Debug::fmt implementation.

    \n

    This can be constructed by the Formatter::debug_map method.

    \n

    \u00a7Examples

    \n
    use std::fmt;\n \n@@ -15,16 +15,16 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(vec![(\"A\".to_string(), 10), (\"B\".to_string(), 11)])),\n     \"{\\\"A\\\": 10, \\\"B\\\": 11}\",\n );
    Run
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, 'b> DebugMap<'a, 'b>
    where\n- 'b: 'a,

    source

    pub fn entry(\n+

    Implementations\u00a7

    source\u00a7

    impl<'a, 'b> DebugMap<'a, 'b>
    where\n+ 'b: 'a,

    source

    pub fn entry(\n &mut self,\n key: &dyn Debug,\n value: &dyn Debug\n ) -> &mut DebugMap<'a, 'b>

    Adds a new entry to the map output.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n@@ -38,15 +38,15 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(vec![(\"A\".to_string(), 10), (\"B\".to_string(), 11)])),\n     \"{\\\"whole\\\": [(\\\"A\\\", 10), (\\\"B\\\", 11)]}\",\n );
    Run
    \n-
    1.42.0 \u00b7 source

    pub fn key(&mut self, key: &dyn Debug) -> &mut DebugMap<'a, 'b>

    Adds the key part of a new entry to the map output.

    \n+
    1.42.0 \u00b7 source

    pub fn key(&mut self, key: &dyn Debug) -> &mut DebugMap<'a, 'b>

    Adds the key part of a new entry to the map output.

    \n

    This method, together with value, is an alternative to entry that\n can be used when the complete entry isn\u2019t known upfront. Prefer the entry\n method when it\u2019s possible to use.

    \n
    \u00a7Panics
    \n

    key must be called before value and each call to key must be followed\n by a corresponding call to value. Otherwise this method will panic.

    \n
    \u00a7Examples
    \n@@ -62,19 +62,19 @@\n }\n }\n \n assert_eq!(\n format!(\"{:?}\", Foo(vec![(\"A\".to_string(), 10), (\"B\".to_string(), 11)])),\n \"{\\\"whole\\\": [(\\\"A\\\", 10), (\\\"B\\\", 11)]}\",\n );
    Run
    \n-
    source

    pub fn key_with<F>(&mut self, key_fmt: F) -> &mut DebugMap<'a, 'b>
    where\n- F: FnOnce(&mut Formatter<'_>) -> Result<(), Error>,

    \ud83d\udd2cThis is a nightly-only experimental API. (debug_closure_helpers #117729)

    Adds the key part of a new entry to the map output.

    \n+
    source

    pub fn key_with<F>(&mut self, key_fmt: F) -> &mut DebugMap<'a, 'b>
    where\n+ F: FnOnce(&mut Formatter<'_>) -> Result<(), Error>,

    \ud83d\udd2cThis is a nightly-only experimental API. (debug_closure_helpers #117729)

    Adds the key part of a new entry to the map output.

    \n

    This method is equivalent to DebugMap::key, but formats the\n key using a provided closure rather than by calling Debug::fmt.

    \n-
    1.42.0 \u00b7 source

    pub fn value(&mut self, value: &dyn Debug) -> &mut DebugMap<'a, 'b>

    Adds the value part of a new entry to the map output.

    \n+
    1.42.0 \u00b7 source

    pub fn value(&mut self, value: &dyn Debug) -> &mut DebugMap<'a, 'b>

    Adds the value part of a new entry to the map output.

    \n

    This method, together with key, is an alternative to entry that\n can be used when the complete entry isn\u2019t known upfront. Prefer the entry\n method when it\u2019s possible to use.

    \n
    \u00a7Panics
    \n

    key must be called before value and each call to key must be followed\n by a corresponding call to value. Otherwise this method will panic.

    \n
    \u00a7Examples
    \n@@ -90,22 +90,22 @@\n }\n }\n \n assert_eq!(\n format!(\"{:?}\", Foo(vec![(\"A\".to_string(), 10), (\"B\".to_string(), 11)])),\n \"{\\\"whole\\\": [(\\\"A\\\", 10), (\\\"B\\\", 11)]}\",\n );
    Run
    \n-
    source

    pub fn value_with<F>(&mut self, value_fmt: F) -> &mut DebugMap<'a, 'b>
    where\n- F: FnOnce(&mut Formatter<'_>) -> Result<(), Error>,

    \ud83d\udd2cThis is a nightly-only experimental API. (debug_closure_helpers #117729)

    Adds the value part of a new entry to the map output.

    \n+
    source

    pub fn value_with<F>(&mut self, value_fmt: F) -> &mut DebugMap<'a, 'b>
    where\n+ F: FnOnce(&mut Formatter<'_>) -> Result<(), Error>,

    \ud83d\udd2cThis is a nightly-only experimental API. (debug_closure_helpers #117729)

    Adds the value part of a new entry to the map output.

    \n

    This method is equivalent to DebugMap::value, but formats the\n value using a provided closure rather than by calling Debug::fmt.

    \n-
    source

    pub fn entries<K, V, I>(&mut self, entries: I) -> &mut DebugMap<'a, 'b>
    where\n+

    source

    pub fn entries<K, V, I>(&mut self, entries: I) -> &mut DebugMap<'a, 'b>
    where\n K: Debug,\n V: Debug,\n- I: IntoIterator<Item = (K, V)>,

    Adds the contents of an iterator of entries to the map output.

    \n+ I: IntoIterator<Item = (K, V)>,

    Adds the contents of an iterator of entries to the map output.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(Vec<(String, i32)>);\n \n impl fmt::Debug for Foo {\n     fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {\n@@ -117,15 +117,15 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(vec![(\"A\".to_string(), 10), (\"B\".to_string(), 11)])),\n     \"{\\\"A\\\": 10, \\\"B\\\": 11}\",\n );
    Run
    \n-
    source

    pub fn finish(&mut self) -> Result<(), Error>

    Finishes output and returns any error encountered.

    \n+
    source

    pub fn finish(&mut self) -> Result<(), Error>

    Finishes output and returns any error encountered.

    \n
    \u00a7Panics
    \n

    key must be called before value and each call to key must be followed\n by a corresponding call to value. Otherwise this method will panic.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(Vec<(String, i32)>);\n@@ -138,18 +138,18 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(vec![(\"A\".to_string(), 10), (\"B\".to_string(), 11)])),\n     \"{\\\"A\\\": 10, \\\"B\\\": 11}\",\n );
    Run
    \n-

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, 'b> Freeze for DebugMap<'a, 'b>

    \u00a7

    impl<'a, 'b> !RefUnwindSafe for DebugMap<'a, 'b>

    \u00a7

    impl<'a, 'b> !Send for DebugMap<'a, 'b>

    \u00a7

    impl<'a, 'b> !Sync for DebugMap<'a, 'b>

    \u00a7

    impl<'a, 'b> Unpin for DebugMap<'a, 'b>

    \u00a7

    impl<'a, 'b> !UnwindSafe for DebugMap<'a, 'b>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, 'b> Freeze for DebugMap<'a, 'b>

    \u00a7

    impl<'a, 'b> !RefUnwindSafe for DebugMap<'a, 'b>

    \u00a7

    impl<'a, 'b> !Send for DebugMap<'a, 'b>

    \u00a7

    impl<'a, 'b> !Sync for DebugMap<'a, 'b>

    \u00a7

    impl<'a, 'b> Unpin for DebugMap<'a, 'b>

    \u00a7

    impl<'a, 'b> !UnwindSafe for DebugMap<'a, 'b>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.DebugSet.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.DebugSet.html", "unified_diff": "@@ -1,9 +1,9 @@\n DebugSet in alloc::fmt - Rust
    \n-

    Struct alloc::fmt::DebugSet

    1.2.0 \u00b7 source \u00b7
    pub struct DebugSet<'a, 'b>
    where\n+

    Struct alloc::fmt::DebugSet

    1.2.0 \u00b7 source \u00b7
    pub struct DebugSet<'a, 'b>
    where\n 'b: 'a,
    { /* private fields */ }
    Expand description

    A struct to help with fmt::Debug implementations.

    \n

    This is useful when you wish to output a formatted set of items as a part\n of your Debug::fmt implementation.

    \n

    This can be constructed by the Formatter::debug_set method.

    \n

    \u00a7Examples

    \n
    use std::fmt;\n \n@@ -15,16 +15,16 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(vec![10, 11])),\n     \"{10, 11}\",\n );
    Run
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, 'b> DebugSet<'a, 'b>
    where\n- 'b: 'a,

    source

    pub fn entry(&mut self, entry: &dyn Debug) -> &mut DebugSet<'a, 'b>

    Adds a new entry to the set output.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a, 'b> DebugSet<'a, 'b>
    where\n+ 'b: 'a,

    source

    pub fn entry(&mut self, entry: &dyn Debug) -> &mut DebugSet<'a, 'b>

    Adds a new entry to the set output.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(Vec<i32>, Vec<u32>);\n \n impl fmt::Debug for Foo {\n     fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {\n@@ -35,21 +35,21 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(vec![10, 11], vec![12, 13])),\n     \"{[10, 11], [12, 13]}\",\n );
    Run
    \n-
    source

    pub fn entry_with<F>(&mut self, entry_fmt: F) -> &mut DebugSet<'a, 'b>
    where\n- F: FnOnce(&mut Formatter<'_>) -> Result<(), Error>,

    \ud83d\udd2cThis is a nightly-only experimental API. (debug_closure_helpers #117729)

    Adds a new entry to the set output.

    \n+
    source

    pub fn entry_with<F>(&mut self, entry_fmt: F) -> &mut DebugSet<'a, 'b>
    where\n+ F: FnOnce(&mut Formatter<'_>) -> Result<(), Error>,

    \ud83d\udd2cThis is a nightly-only experimental API. (debug_closure_helpers #117729)

    Adds a new entry to the set output.

    \n

    This method is equivalent to DebugSet::entry, but formats the\n entry using a provided closure rather than by calling Debug::fmt.

    \n-
    source

    pub fn entries<D, I>(&mut self, entries: I) -> &mut DebugSet<'a, 'b>
    where\n+

    source

    pub fn entries<D, I>(&mut self, entries: I) -> &mut DebugSet<'a, 'b>
    where\n D: Debug,\n- I: IntoIterator<Item = D>,

    Adds the contents of an iterator of entries to the set output.

    \n+ I: IntoIterator<Item = D>,

    Adds the contents of an iterator of entries to the set output.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(Vec<i32>, Vec<u32>);\n \n impl fmt::Debug for Foo {\n     fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {\n@@ -60,15 +60,15 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(vec![10, 11], vec![12, 13])),\n     \"{10, 11, 12, 13}\",\n );
    Run
    \n-
    source

    pub fn finish(&mut self) -> Result<(), Error>

    Finishes output and returns any error encountered.

    \n+
    source

    pub fn finish(&mut self) -> Result<(), Error>

    Finishes output and returns any error encountered.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(Vec<i32>);\n \n impl fmt::Debug for Foo {\n     fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {\n@@ -78,18 +78,18 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(vec![10, 11])),\n     \"{10, 11}\",\n );
    Run
    \n-

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, 'b> Freeze for DebugSet<'a, 'b>

    \u00a7

    impl<'a, 'b> !RefUnwindSafe for DebugSet<'a, 'b>

    \u00a7

    impl<'a, 'b> !Send for DebugSet<'a, 'b>

    \u00a7

    impl<'a, 'b> !Sync for DebugSet<'a, 'b>

    \u00a7

    impl<'a, 'b> Unpin for DebugSet<'a, 'b>

    \u00a7

    impl<'a, 'b> !UnwindSafe for DebugSet<'a, 'b>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, 'b> Freeze for DebugSet<'a, 'b>

    \u00a7

    impl<'a, 'b> !RefUnwindSafe for DebugSet<'a, 'b>

    \u00a7

    impl<'a, 'b> !Send for DebugSet<'a, 'b>

    \u00a7

    impl<'a, 'b> !Sync for DebugSet<'a, 'b>

    \u00a7

    impl<'a, 'b> Unpin for DebugSet<'a, 'b>

    \u00a7

    impl<'a, 'b> !UnwindSafe for DebugSet<'a, 'b>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.DebugStruct.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.DebugStruct.html", "unified_diff": "@@ -1,9 +1,9 @@\n DebugStruct in alloc::fmt - Rust
    \n-

    Struct alloc::fmt::DebugStruct

    1.2.0 \u00b7 source \u00b7
    pub struct DebugStruct<'a, 'b>
    where\n+

    Struct alloc::fmt::DebugStruct

    1.2.0 \u00b7 source \u00b7
    pub struct DebugStruct<'a, 'b>
    where\n 'b: 'a,
    { /* private fields */ }
    Expand description

    A struct to help with fmt::Debug implementations.

    \n

    This is useful when you wish to output a formatted struct as a part of your\n Debug::fmt implementation.

    \n

    This can be constructed by the Formatter::debug_struct method.

    \n

    \u00a7Examples

    \n
    use std::fmt;\n \n@@ -21,18 +21,18 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo { bar: 10, baz: \"Hello World\".to_string() }),\n     \"Foo { bar: 10, baz: \\\"Hello World\\\" }\",\n );
    Run
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, 'b> DebugStruct<'a, 'b>
    where\n- 'b: 'a,

    source

    pub fn field(\n+

    Implementations\u00a7

    source\u00a7

    impl<'a, 'b> DebugStruct<'a, 'b>
    where\n+ 'b: 'a,

    source

    pub fn field(\n &mut self,\n- name: &str,\n+ name: &str,\n value: &dyn Debug\n ) -> &mut DebugStruct<'a, 'b>

    Adds a new field to the generated struct output.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Bar {\n     bar: i32,\n@@ -50,23 +50,23 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Bar { bar: 10, another: \"Hello World\".to_string() }),\n     \"Bar { bar: 10, another: \\\"Hello World\\\", nonexistent_field: 1 }\",\n );
    Run
    \n-
    source

    pub fn field_with<F>(\n+

    source

    pub fn field_with<F>(\n &mut self,\n- name: &str,\n+ name: &str,\n value_fmt: F\n ) -> &mut DebugStruct<'a, 'b>
    where\n- F: FnOnce(&mut Formatter<'_>) -> Result<(), Error>,

    \ud83d\udd2cThis is a nightly-only experimental API. (debug_closure_helpers #117729)

    Adds a new field to the generated struct output.

    \n+ F: FnOnce(&mut Formatter<'_>) -> Result<(), Error>,
    \ud83d\udd2cThis is a nightly-only experimental API. (debug_closure_helpers #117729)

    Adds a new field to the generated struct output.

    \n

    This method is equivalent to DebugStruct::field, but formats the\n value using a provided closure rather than by calling Debug::fmt.

    \n-
    1.53.0 \u00b7 source

    pub fn finish_non_exhaustive(&mut self) -> Result<(), Error>

    Marks the struct as non-exhaustive, indicating to the reader that there are some other\n+

    1.53.0 \u00b7 source

    pub fn finish_non_exhaustive(&mut self) -> Result<(), Error>

    Marks the struct as non-exhaustive, indicating to the reader that there are some other\n fields that are not shown in the debug representation.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Bar {\n     bar: i32,\n     hidden: f32,\n@@ -80,15 +80,15 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Bar { bar: 10, hidden: 1.0 }),\n     \"Bar { bar: 10, .. }\",\n );
    Run
    \n-
    source

    pub fn finish(&mut self) -> Result<(), Error>

    Finishes output and returns any error encountered.

    \n+
    source

    pub fn finish(&mut self) -> Result<(), Error>

    Finishes output and returns any error encountered.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Bar {\n     bar: i32,\n     baz: String,\n }\n@@ -103,18 +103,18 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Bar { bar: 10, baz: \"Hello World\".to_string() }),\n     \"Bar { bar: 10, baz: \\\"Hello World\\\" }\",\n );
    Run
    \n-

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, 'b> Freeze for DebugStruct<'a, 'b>

    \u00a7

    impl<'a, 'b> !RefUnwindSafe for DebugStruct<'a, 'b>

    \u00a7

    impl<'a, 'b> !Send for DebugStruct<'a, 'b>

    \u00a7

    impl<'a, 'b> !Sync for DebugStruct<'a, 'b>

    \u00a7

    impl<'a, 'b> Unpin for DebugStruct<'a, 'b>

    \u00a7

    impl<'a, 'b> !UnwindSafe for DebugStruct<'a, 'b>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, 'b> Freeze for DebugStruct<'a, 'b>

    \u00a7

    impl<'a, 'b> !RefUnwindSafe for DebugStruct<'a, 'b>

    \u00a7

    impl<'a, 'b> !Send for DebugStruct<'a, 'b>

    \u00a7

    impl<'a, 'b> !Sync for DebugStruct<'a, 'b>

    \u00a7

    impl<'a, 'b> Unpin for DebugStruct<'a, 'b>

    \u00a7

    impl<'a, 'b> !UnwindSafe for DebugStruct<'a, 'b>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.DebugTuple.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.DebugTuple.html", "unified_diff": "@@ -1,9 +1,9 @@\n DebugTuple in alloc::fmt - Rust
    \n-

    Struct alloc::fmt::DebugTuple

    1.2.0 \u00b7 source \u00b7
    pub struct DebugTuple<'a, 'b>
    where\n+

    Struct alloc::fmt::DebugTuple

    1.2.0 \u00b7 source \u00b7
    pub struct DebugTuple<'a, 'b>
    where\n 'b: 'a,
    { /* private fields */ }
    Expand description

    A struct to help with fmt::Debug implementations.

    \n

    This is useful when you wish to output a formatted tuple as a part of your\n Debug::fmt implementation.

    \n

    This can be constructed by the Formatter::debug_tuple method.

    \n

    \u00a7Examples

    \n
    use std::fmt;\n \n@@ -18,16 +18,16 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(10, \"Hello World\".to_string())),\n     \"Foo(10, \\\"Hello World\\\")\",\n );
    Run
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, 'b> DebugTuple<'a, 'b>
    where\n- 'b: 'a,

    source

    pub fn field(&mut self, value: &dyn Debug) -> &mut DebugTuple<'a, 'b>

    Adds a new field to the generated tuple struct output.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a, 'b> DebugTuple<'a, 'b>
    where\n+ 'b: 'a,

    source

    pub fn field(&mut self, value: &dyn Debug) -> &mut DebugTuple<'a, 'b>

    Adds a new field to the generated tuple struct output.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(i32, String);\n \n impl fmt::Debug for Foo {\n     fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {\n@@ -38,19 +38,19 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(10, \"Hello World\".to_string())),\n     \"Foo(10, \\\"Hello World\\\")\",\n );
    Run
    \n-
    source

    pub fn field_with<F>(&mut self, value_fmt: F) -> &mut DebugTuple<'a, 'b>
    where\n- F: FnOnce(&mut Formatter<'_>) -> Result<(), Error>,

    \ud83d\udd2cThis is a nightly-only experimental API. (debug_closure_helpers #117729)

    Adds a new field to the generated tuple struct output.

    \n+
    source

    pub fn field_with<F>(&mut self, value_fmt: F) -> &mut DebugTuple<'a, 'b>
    where\n+ F: FnOnce(&mut Formatter<'_>) -> Result<(), Error>,

    \ud83d\udd2cThis is a nightly-only experimental API. (debug_closure_helpers #117729)

    Adds a new field to the generated tuple struct output.

    \n

    This method is equivalent to DebugTuple::field, but formats the\n value using a provided closure rather than by calling Debug::fmt.

    \n-
    source

    pub fn finish(&mut self) -> Result<(), Error>

    Finishes output and returns any error encountered.

    \n+
    source

    pub fn finish(&mut self) -> Result<(), Error>

    Finishes output and returns any error encountered.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(i32, String);\n \n impl fmt::Debug for Foo {\n     fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {\n@@ -62,18 +62,18 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\", Foo(10, \"Hello World\".to_string())),\n     \"Foo(10, \\\"Hello World\\\")\",\n );
    Run
    \n-

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, 'b> Freeze for DebugTuple<'a, 'b>

    \u00a7

    impl<'a, 'b> !RefUnwindSafe for DebugTuple<'a, 'b>

    \u00a7

    impl<'a, 'b> !Send for DebugTuple<'a, 'b>

    \u00a7

    impl<'a, 'b> !Sync for DebugTuple<'a, 'b>

    \u00a7

    impl<'a, 'b> Unpin for DebugTuple<'a, 'b>

    \u00a7

    impl<'a, 'b> !UnwindSafe for DebugTuple<'a, 'b>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, 'b> Freeze for DebugTuple<'a, 'b>

    \u00a7

    impl<'a, 'b> !RefUnwindSafe for DebugTuple<'a, 'b>

    \u00a7

    impl<'a, 'b> !Send for DebugTuple<'a, 'b>

    \u00a7

    impl<'a, 'b> !Sync for DebugTuple<'a, 'b>

    \u00a7

    impl<'a, 'b> Unpin for DebugTuple<'a, 'b>

    \u00a7

    impl<'a, 'b> !UnwindSafe for DebugTuple<'a, 'b>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.Error.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.Error.html", "unified_diff": "@@ -1,38 +1,38 @@\n Error in alloc::fmt - Rust
    \n-

    Struct alloc::fmt::Error

    1.0.0 \u00b7 source \u00b7
    pub struct Error;
    Expand description

    The error type which is returned from formatting a message into a stream.

    \n+

    Struct alloc::fmt::Error

    1.0.0 \u00b7 source \u00b7
    pub struct Error;
    Expand description

    The error type which is returned from formatting a message into a stream.

    \n

    This type does not support transmission of an error other than that an error\n occurred. Any extra information must be arranged to be transmitted through\n some other means.

    \n

    An important thing to remember is that the type fmt::Error should not be\n confused with std::io::Error or std::error::Error, which you may also\n have in scope.

    \n

    \u00a7Examples

    \n
    use std::fmt::{self, write};\n \n let mut output = String::new();\n if let Err(fmt::Error) = write(&mut output, format_args!(\"Hello {}!\", \"world\")) {\n     panic!(\"An error occurred\");\n }
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl Clone for Error

    source\u00a7

    fn clone(&self) -> Error

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for Error

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Default for Error

    source\u00a7

    fn default() -> Error

    Returns the \u201cdefault value\u201d for a type. Read more
    source\u00a7

    impl Display for Error

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.11.0 \u00b7 source\u00a7

    impl Error for Error

    source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    1.30.0 \u00b7 source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more
    source\u00a7

    impl Hash for Error

    source\u00a7

    fn hash<__H>(&self, state: &mut __H)
    where\n- __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 \u00b7 source\u00a7

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n- H: Hasher,\n- Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source\u00a7

    impl Ord for Error

    source\u00a7

    fn cmp(&self, other: &Error) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 \u00b7 source\u00a7

    fn max(self, other: Self) -> Self
    where\n- Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 \u00b7 source\u00a7

    fn min(self, other: Self) -> Self
    where\n- Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 \u00b7 source\u00a7

    fn clamp(self, min: Self, max: Self) -> Self
    where\n- Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source\u00a7

    impl PartialEq for Error

    source\u00a7

    fn eq(&self, other: &Error) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl PartialOrd for Error

    source\u00a7

    fn partial_cmp(&self, other: &Error) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source\u00a7

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source\u00a7

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\n-operator. Read more
    source\u00a7

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    source\u00a7

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\n-operator. Read more
    source\u00a7

    impl Copy for Error

    source\u00a7

    impl Eq for Error

    source\u00a7

    impl StructuralPartialEq for Error

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl Clone for Error

    source\u00a7

    fn clone(&self) -> Error

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for Error

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Default for Error

    source\u00a7

    fn default() -> Error

    Returns the \u201cdefault value\u201d for a type. Read more
    source\u00a7

    impl Display for Error

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.11.0 \u00b7 source\u00a7

    impl Error for Error

    source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    1.30.0 \u00b7 source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more
    source\u00a7

    impl Hash for Error

    source\u00a7

    fn hash<__H>(&self, state: &mut __H)
    where\n+ __H: Hasher,

    Feeds this value into the given Hasher. Read more
    1.3.0 \u00b7 source\u00a7

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n+ H: Hasher,\n+ Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source\u00a7

    impl Ord for Error

    source\u00a7

    fn cmp(&self, other: &Error) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 \u00b7 source\u00a7

    fn max(self, other: Self) -> Self
    where\n+ Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 \u00b7 source\u00a7

    fn min(self, other: Self) -> Self
    where\n+ Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 \u00b7 source\u00a7

    fn clamp(self, min: Self, max: Self) -> Self
    where\n+ Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source\u00a7

    impl PartialEq for Error

    source\u00a7

    fn eq(&self, other: &Error) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl PartialOrd for Error

    source\u00a7

    fn partial_cmp(&self, other: &Error) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source\u00a7

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source\u00a7

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\n+operator. Read more
    source\u00a7

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    source\u00a7

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\n+operator. Read more
    source\u00a7

    impl Copy for Error

    source\u00a7

    impl Eq for Error

    source\u00a7

    impl StructuralPartialEq for Error

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n- T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n+ T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.Formatter.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.Formatter.html", "unified_diff": "@@ -1,21 +1,21 @@\n Formatter in alloc::fmt - Rust
    \n-

    Struct alloc::fmt::Formatter

    1.0.0 \u00b7 source \u00b7
    pub struct Formatter<'a> { /* private fields */ }
    Expand description

    Configuration for formatting.

    \n+

    Struct alloc::fmt::Formatter

    1.0.0 \u00b7 source \u00b7
    pub struct Formatter<'a> { /* private fields */ }
    Expand description

    Configuration for formatting.

    \n

    A Formatter represents various options related to formatting. Users do not\n construct Formatters directly; a mutable reference to one is passed to\n the fmt method of all formatting traits, like Debug and Display.

    \n

    To interact with a Formatter, you\u2019ll call various methods to change the\n various options related to formatting. For examples, please see the\n documentation of the methods defined on Formatter below.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a> Formatter<'a>

    Implementations\u00a7

    source\u00a7

    impl<'a> Formatter<'a>

    source

    pub fn pad_integral(\n &mut self,\n- is_nonnegative: bool,\n- prefix: &str,\n- buf: &str\n-) -> Result<(), Error>

    Performs the correct padding for an integer which has already been\n+ is_nonnegative: bool,\n+ prefix: &str,\n+ buf: &str\n+) -> Result<(), Error>

    Performs the correct padding for an integer which has already been\n emitted into a str. The str should not contain the sign for the\n integer, that will be added by this method.

    \n
    \u00a7Arguments
    \n
      \n
    • is_nonnegative - whether the original integer was either positive or zero.
    • \n
    • prefix - if the \u2018#\u2019 character (Alternate) is provided, this\n is the prefix to put in front of the number.
    • \n@@ -46,15 +46,15 @@\n }\n \n assert_eq!(format!(\"{}\", Foo::new(2)), \"2\");\n assert_eq!(format!(\"{}\", Foo::new(-1)), \"-1\");\n assert_eq!(format!(\"{}\", Foo::new(0)), \"0\");\n assert_eq!(format!(\"{:#}\", Foo::new(-1)), \"-Foo 1\");\n assert_eq!(format!(\"{:0>#8}\", Foo::new(-1)), \"00-Foo 1\");Run
    \n-
    source

    pub fn pad(&mut self, s: &str) -> Result<(), Error>

    This function takes a string slice and emits it to the internal buffer\n+

    source

    pub fn pad(&mut self, s: &str) -> Result<(), Error>

    This function takes a string slice and emits it to the internal buffer\n after applying the relevant formatting flags specified. The flags\n recognized for generic strings are:

    \n
      \n
    • width - the minimum width of what to emit
    • \n
    • fill/align - what to emit and where to emit it if the string\n provided needs to be padded
    • \n
    • precision - the maximum length to emit, the string is truncated if it\n@@ -70,15 +70,15 @@\n fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {\n formatter.pad(\"Foo\")\n }\n }\n \n assert_eq!(format!(\"{Foo:<4}\"), \"Foo \");\n assert_eq!(format!(\"{Foo:0>4}\"), \"0Foo\");Run
    \n-
    source

    pub fn write_str(&mut self, data: &str) -> Result<(), Error>

    Writes some data to the underlying buffer contained within this\n+

    source

    pub fn write_str(&mut self, data: &str) -> Result<(), Error>

    Writes some data to the underlying buffer contained within this\n formatter.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo;\n \n impl fmt::Display for Foo {\n@@ -87,30 +87,30 @@\n         // This is equivalent to:\n         // write!(formatter, \"Foo\")\n     }\n }\n \n assert_eq!(format!(\"{Foo}\"), \"Foo\");\n assert_eq!(format!(\"{Foo:0>8}\"), \"Foo\");
    Run
    \n-
    source

    pub fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

    Writes some formatted information into this instance.

    \n+
    source

    pub fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

    Writes some formatted information into this instance.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(i32);\n \n impl fmt::Display for Foo {\n     fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {\n         formatter.write_fmt(format_args!(\"Foo {}\", self.0))\n     }\n }\n \n assert_eq!(format!(\"{}\", Foo(-1)), \"Foo -1\");\n assert_eq!(format!(\"{:0>8}\", Foo(2)), \"Foo 2\");
    Run
    \n-
    source

    pub fn flags(&self) -> u32

    \ud83d\udc4eDeprecated since 1.24.0: use the sign_plus, sign_minus, alternate, or sign_aware_zero_pad methods instead

    Flags for formatting

    \n-
    1.5.0 \u00b7 source

    pub fn fill(&self) -> char

    Character used as \u2018fill\u2019 whenever there is alignment.

    \n+
    source

    pub fn flags(&self) -> u32

    \ud83d\udc4eDeprecated since 1.24.0: use the sign_plus, sign_minus, alternate, or sign_aware_zero_pad methods instead

    Flags for formatting

    \n+
    1.5.0 \u00b7 source

    pub fn fill(&self) -> char

    Character used as \u2018fill\u2019 whenever there is alignment.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo;\n \n impl fmt::Display for Foo {\n     fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {\n@@ -125,15 +125,15 @@\n         }\n     }\n }\n \n // We set alignment to the right with \">\".\n assert_eq!(format!(\"{Foo:G>3}\"), \"GGG\");\n assert_eq!(format!(\"{Foo:t>6}\"), \"tttttt\");
    Run
    \n-
    1.28.0 \u00b7 source

    pub fn align(&self) -> Option<Alignment>

    Flag indicating what form of alignment was requested.

    \n+
    1.28.0 \u00b7 source

    pub fn align(&self) -> Option<Alignment>

    Flag indicating what form of alignment was requested.

    \n
    \u00a7Examples
    \n
    use std::fmt::{self, Alignment};\n \n struct Foo;\n \n impl fmt::Display for Foo {\n     fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {\n@@ -150,15 +150,15 @@\n     }\n }\n \n assert_eq!(format!(\"{Foo:<}\"), \"left\");\n assert_eq!(format!(\"{Foo:>}\"), \"right\");\n assert_eq!(format!(\"{Foo:^}\"), \"center\");\n assert_eq!(format!(\"{Foo}\"), \"into the void\");
    Run
    \n-
    1.5.0 \u00b7 source

    pub fn width(&self) -> Option<usize>

    Optionally specified integer width that the output should be.

    \n+
    1.5.0 \u00b7 source

    pub fn width(&self) -> Option<usize>

    Optionally specified integer width that the output should be.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(i32);\n \n impl fmt::Display for Foo {\n     fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {\n@@ -170,15 +170,15 @@\n             write!(formatter, \"Foo({})\", self.0)\n         }\n     }\n }\n \n assert_eq!(format!(\"{:10}\", Foo(23)), \"Foo(23)   \");\n assert_eq!(format!(\"{}\", Foo(23)), \"Foo(23)\");
    Run
    \n-
    1.5.0 \u00b7 source

    pub fn precision(&self) -> Option<usize>

    Optionally specified precision for numeric types. Alternatively, the\n+

    1.5.0 \u00b7 source

    pub fn precision(&self) -> Option<usize>

    Optionally specified precision for numeric types. Alternatively, the\n maximum width for string types.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(f32);\n \n impl fmt::Display for Foo {\n@@ -191,15 +191,15 @@\n             write!(formatter, \"Foo({:.2})\", self.0)\n         }\n     }\n }\n \n assert_eq!(format!(\"{:.4}\", Foo(23.2)), \"Foo(23.2000)\");\n assert_eq!(format!(\"{}\", Foo(23.2)), \"Foo(23.20)\");
    Run
    \n-
    1.5.0 \u00b7 source

    pub fn sign_plus(&self) -> bool

    Determines if the + flag was specified.

    \n+
    1.5.0 \u00b7 source

    pub fn sign_plus(&self) -> bool

    Determines if the + flag was specified.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(i32);\n \n impl fmt::Display for Foo {\n     fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {\n@@ -213,15 +213,15 @@\n         }\n     }\n }\n \n assert_eq!(format!(\"{:+}\", Foo(23)), \"Foo(+23)\");\n assert_eq!(format!(\"{:+}\", Foo(-23)), \"Foo(-23)\");\n assert_eq!(format!(\"{}\", Foo(23)), \"Foo(23)\");
    Run
    \n-
    1.5.0 \u00b7 source

    pub fn sign_minus(&self) -> bool

    Determines if the - flag was specified.

    \n+
    1.5.0 \u00b7 source

    pub fn sign_minus(&self) -> bool

    Determines if the - flag was specified.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(i32);\n \n impl fmt::Display for Foo {\n     fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {\n@@ -232,15 +232,15 @@\n             write!(formatter, \"Foo({})\", self.0)\n         }\n     }\n }\n \n assert_eq!(format!(\"{:-}\", Foo(23)), \"-Foo(23)\");\n assert_eq!(format!(\"{}\", Foo(23)), \"Foo(23)\");
    Run
    \n-
    1.5.0 \u00b7 source

    pub fn alternate(&self) -> bool

    Determines if the # flag was specified.

    \n+
    1.5.0 \u00b7 source

    pub fn alternate(&self) -> bool

    Determines if the # flag was specified.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(i32);\n \n impl fmt::Display for Foo {\n     fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {\n@@ -250,15 +250,15 @@\n             write!(formatter, \"{}\", self.0)\n         }\n     }\n }\n \n assert_eq!(format!(\"{:#}\", Foo(23)), \"Foo(23)\");\n assert_eq!(format!(\"{}\", Foo(23)), \"23\");
    Run
    \n-
    1.5.0 \u00b7 source

    pub fn sign_aware_zero_pad(&self) -> bool

    Determines if the 0 flag was specified.

    \n+
    1.5.0 \u00b7 source

    pub fn sign_aware_zero_pad(&self) -> bool

    Determines if the 0 flag was specified.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(i32);\n \n impl fmt::Display for Foo {\n     fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {\n@@ -266,15 +266,15 @@\n         assert_eq!(formatter.width(), Some(4));\n         // We ignore the formatter's options.\n         write!(formatter, \"{}\", self.0)\n     }\n }\n \n assert_eq!(format!(\"{:04}\", Foo(23)), \"23\");
    Run
    \n-
    1.2.0 \u00b7 source

    pub fn debug_struct<'b>(&'b mut self, name: &str) -> DebugStruct<'b, 'a>

    Creates a DebugStruct builder designed to assist with creation of\n+

    1.2.0 \u00b7 source

    pub fn debug_struct<'b>(&'b mut self, name: &str) -> DebugStruct<'b, 'a>

    Creates a DebugStruct builder designed to assist with creation of\n fmt::Debug implementations for structs.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n use std::net::Ipv4Addr;\n \n struct Foo {\n     bar: i32,\n@@ -296,15 +296,15 @@\n     \"Foo { bar: 10, baz: \\\"Hello World\\\", addr: 127.0.0.1 }\",\n     format!(\"{:?}\", Foo {\n         bar: 10,\n         baz: \"Hello World\".to_string(),\n         addr: Ipv4Addr::new(127, 0, 0, 1),\n     })\n );
    Run
    \n-
    1.2.0 \u00b7 source

    pub fn debug_tuple<'b>(&'b mut self, name: &str) -> DebugTuple<'b, 'a>

    Creates a DebugTuple builder designed to assist with creation of\n+

    1.2.0 \u00b7 source

    pub fn debug_tuple<'b>(&'b mut self, name: &str) -> DebugTuple<'b, 'a>

    Creates a DebugTuple builder designed to assist with creation of\n fmt::Debug implementations for tuple structs.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n use std::marker::PhantomData;\n \n struct Foo<T>(i32, String, PhantomData<T>);\n \n@@ -318,43 +318,43 @@\n     }\n }\n \n assert_eq!(\n     \"Foo(10, \\\"Hello\\\", _)\",\n     format!(\"{:?}\", Foo(10, \"Hello\".to_string(), PhantomData::<u8>))\n );
    Run
    \n-
    1.2.0 \u00b7 source

    pub fn debug_list<'b>(&'b mut self) -> DebugList<'b, 'a>

    Creates a DebugList builder designed to assist with creation of\n+

    1.2.0 \u00b7 source

    pub fn debug_list<'b>(&'b mut self) -> DebugList<'b, 'a>

    Creates a DebugList builder designed to assist with creation of\n fmt::Debug implementations for list-like structures.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(Vec<i32>);\n \n impl fmt::Debug for Foo {\n     fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {\n         fmt.debug_list().entries(self.0.iter()).finish()\n     }\n }\n \n assert_eq!(format!(\"{:?}\", Foo(vec![10, 11])), \"[10, 11]\");
    Run
    \n-
    1.2.0 \u00b7 source

    pub fn debug_set<'b>(&'b mut self) -> DebugSet<'b, 'a>

    Creates a DebugSet builder designed to assist with creation of\n+

    1.2.0 \u00b7 source

    pub fn debug_set<'b>(&'b mut self) -> DebugSet<'b, 'a>

    Creates a DebugSet builder designed to assist with creation of\n fmt::Debug implementations for set-like structures.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(Vec<i32>);\n \n impl fmt::Debug for Foo {\n     fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {\n         fmt.debug_set().entries(self.0.iter()).finish()\n     }\n }\n \n assert_eq!(format!(\"{:?}\", Foo(vec![10, 11])), \"{10, 11}\");
    Run
    \n-

    In this more complex example, we use format_args! and .debug_set()\n+

    In this more complex example, we use format_args! and .debug_set()\n to build a list of match arms:

    \n \n
    use std::fmt;\n \n struct Arm<'a, L, R>(&'a (L, R));\n struct Table<'a, K, V>(&'a [(K, V)], V);\n \n@@ -376,15 +376,15 @@\n     fn fmt(&self, fmt: &mut fmt::Formatter<'_>) -> fmt::Result {\n         fmt.debug_set()\n         .entries(self.0.iter().map(Arm))\n         .entry(&Arm(&(format_args!(\"_\"), &self.1)))\n         .finish()\n     }\n }
    Run
    \n-
    1.2.0 \u00b7 source

    pub fn debug_map<'b>(&'b mut self) -> DebugMap<'b, 'a>

    Creates a DebugMap builder designed to assist with creation of\n+

    1.2.0 \u00b7 source

    pub fn debug_map<'b>(&'b mut self) -> DebugMap<'b, 'a>

    Creates a DebugMap builder designed to assist with creation of\n fmt::Debug implementations for map-like structures.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Foo(Vec<(String, i32)>);\n \n impl fmt::Debug for Foo {\n@@ -393,19 +393,19 @@\n     }\n }\n \n assert_eq!(\n     format!(\"{:?}\",  Foo(vec![(\"A\".to_string(), 10), (\"B\".to_string(), 11)])),\n     r#\"{\"A\": 10, \"B\": 11}\"#\n  );
    Run
    \n-

    Trait Implementations\u00a7

    1.2.0 \u00b7 source\u00a7

    impl Write for Formatter<'_>

    source\u00a7

    fn write_str(&mut self, s: &str) -> Result<(), Error>

    Writes a string slice into this writer, returning whether the write\n-succeeded. Read more
    source\u00a7

    fn write_char(&mut self, c: char) -> Result<(), Error>

    Writes a char into this writer, returning whether the write succeeded. Read more
    source\u00a7

    fn write_fmt(&mut self, args: Arguments<'_>) -> Result<(), Error>

    Glue for usage of the write! macro with implementors of this trait. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for Formatter<'a>

    \u00a7

    impl<'a> !RefUnwindSafe for Formatter<'a>

    \u00a7

    impl<'a> !Send for Formatter<'a>

    \u00a7

    impl<'a> !Sync for Formatter<'a>

    \u00a7

    impl<'a> Unpin for Formatter<'a>

    \u00a7

    impl<'a> !UnwindSafe for Formatter<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    1.2.0 \u00b7 source\u00a7

    impl Write for Formatter<'_>

    source\u00a7

    fn write_str(&mut self, s: &str) -> Result<(), Error>

    Writes a string slice into this writer, returning whether the write\n+succeeded. Read more
    source\u00a7

    fn write_char(&mut self, c: char) -> Result<(), Error>

    Writes a char into this writer, returning whether the write succeeded. Read more
    source\u00a7

    fn write_fmt(&mut self, args: Arguments<'_>) -> Result<(), Error>

    Glue for usage of the write! macro with implementors of this trait. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for Formatter<'a>

    \u00a7

    impl<'a> !RefUnwindSafe for Formatter<'a>

    \u00a7

    impl<'a> !Send for Formatter<'a>

    \u00a7

    impl<'a> !Sync for Formatter<'a>

    \u00a7

    impl<'a> Unpin for Formatter<'a>

    \u00a7

    impl<'a> !UnwindSafe for Formatter<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.FormatterFn.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/struct.FormatterFn.html", "unified_diff": "@@ -1,35 +1,35 @@\n FormatterFn in alloc::fmt - Rust
    \n-

    Struct alloc::fmt::FormatterFn

    source \u00b7
    pub struct FormatterFn<F>(pub F)\n+    

    Struct alloc::fmt::FormatterFn

    source \u00b7
    pub struct FormatterFn<F>(pub F)\n where\n-    F: Fn(&mut Formatter<'_>) -> Result<(), Error>;
    \ud83d\udd2cThis is a nightly-only experimental API. (debug_closure_helpers #117729)
    Expand description

    Implements fmt::Debug and fmt::Display using a function.

    \n+ F: Fn(&mut Formatter<'_>) -> Result<(), Error>;
    \ud83d\udd2cThis is a nightly-only experimental API. (debug_closure_helpers #117729)
    Expand description

    Implements fmt::Debug and fmt::Display using a function.

    \n

    \u00a7Examples

    \n
    #![feature(debug_closure_helpers)]\n use std::fmt;\n \n let value = 'a';\n assert_eq!(format!(\"{}\", value), \"a\");\n assert_eq!(format!(\"{:?}\", value), \"'a'\");\n \n let wrapped = fmt::FormatterFn(|f| write!(f, \"{:?}\", &value));\n assert_eq!(format!(\"{}\", wrapped), \"'a'\");\n assert_eq!(format!(\"{:?}\", wrapped), \"'a'\");
    Run
    \n-

    Tuple Fields\u00a7

    \u00a70: F
    \ud83d\udd2cThis is a nightly-only experimental API. (debug_closure_helpers #117729)

    Trait Implementations\u00a7

    source\u00a7

    impl<F> Debug for FormatterFn<F>
    where\n- F: Fn(&mut Formatter<'_>) -> Result<(), Error>,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<F> Display for FormatterFn<F>
    where\n- F: Fn(&mut Formatter<'_>) -> Result<(), Error>,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<F> Freeze for FormatterFn<F>
    where\n- F: Freeze,

    \u00a7

    impl<F> RefUnwindSafe for FormatterFn<F>
    where\n- F: RefUnwindSafe,

    \u00a7

    impl<F> Send for FormatterFn<F>
    where\n- F: Send,

    \u00a7

    impl<F> Sync for FormatterFn<F>
    where\n- F: Sync,

    \u00a7

    impl<F> Unpin for FormatterFn<F>
    where\n- F: Unpin,

    \u00a7

    impl<F> UnwindSafe for FormatterFn<F>
    where\n- F: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Tuple Fields\u00a7

    \u00a70: F
    \ud83d\udd2cThis is a nightly-only experimental API. (debug_closure_helpers #117729)

    Trait Implementations\u00a7

    source\u00a7

    impl<F> Debug for FormatterFn<F>
    where\n+ F: Fn(&mut Formatter<'_>) -> Result<(), Error>,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<F> Display for FormatterFn<F>
    where\n+ F: Fn(&mut Formatter<'_>) -> Result<(), Error>,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<F> Freeze for FormatterFn<F>
    where\n+ F: Freeze,

    \u00a7

    impl<F> RefUnwindSafe for FormatterFn<F>
    where\n+ F: RefUnwindSafe,

    \u00a7

    impl<F> Send for FormatterFn<F>
    where\n+ F: Send,

    \u00a7

    impl<F> Sync for FormatterFn<F>
    where\n+ F: Sync,

    \u00a7

    impl<F> Unpin for FormatterFn<F>
    where\n+ F: Unpin,

    \u00a7

    impl<F> UnwindSafe for FormatterFn<F>
    where\n+ F: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToString for T
    where\n- T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Display + ?Sized,
    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.Binary.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.Binary.html", "unified_diff": "@@ -1,19 +1,19 @@\n Binary in alloc::fmt - Rust
    \n-

    Trait alloc::fmt::Binary

    1.0.0 \u00b7 source \u00b7
    pub trait Binary {\n+    

    Trait alloc::fmt::Binary

    1.0.0 \u00b7 source \u00b7
    pub trait Binary {\n     // Required method\n-    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;\n+    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;\n }
    Expand description

    b formatting.

    \n

    The Binary trait should format its output as a number in binary.

    \n-

    For primitive signed integers (i8 to i128, and isize),\n+

    For primitive signed integers (i8 to i128, and isize),\n negative values are formatted as the two\u2019s complement representation.

    \n

    The alternate flag, #, adds a 0b in front of the output.

    \n

    For more information on formatters, see the module-level documentation.

    \n

    \u00a7Examples

    \n-

    Basic usage with i32:

    \n+

    Basic usage with i32:

    \n \n
    let x = 42; // 42 is '101010' in binary\n \n assert_eq!(format!(\"{x:b}\"), \"101010\");\n assert_eq!(format!(\"{x:#b}\"), \"0b101010\");\n \n assert_eq!(format!(\"{:b}\", -16), \"11111111111111111111111111110000\");
    Run
    \n@@ -37,14 +37,14 @@\n \n assert_eq!(\n // Note that the `0b` prefix added by `#` is included in the total width, so we\n // need to add two to correctly display all 32 bits.\n format!(\"l as binary is: {l:#034b}\"),\n \"l as binary is: 0b00000000000000000000000001101011\"\n );
    Run
    \n-

    Required Methods\u00a7

    source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n-

    Implementors\u00a7

    source\u00a7

    impl Binary for i8

    source\u00a7

    impl Binary for i16

    source\u00a7

    impl Binary for i32

    source\u00a7

    impl Binary for i64

    source\u00a7

    impl Binary for i128

    source\u00a7

    impl Binary for isize

    source\u00a7

    impl Binary for u8

    source\u00a7

    impl Binary for u16

    source\u00a7

    impl Binary for u32

    source\u00a7

    impl Binary for u64

    source\u00a7

    impl Binary for u128

    source\u00a7

    impl Binary for usize

    source\u00a7

    impl<T> Binary for &T
    where\n- T: Binary + ?Sized,

    source\u00a7

    impl<T> Binary for &mut T
    where\n- T: Binary + ?Sized,

    1.28.0 \u00b7 source\u00a7

    impl<T> Binary for NonZero<T>
    where\n- T: ZeroablePrimitive + Binary,

    1.74.0 \u00b7 source\u00a7

    impl<T> Binary for Saturating<T>
    where\n- T: Binary,

    1.11.0 \u00b7 source\u00a7

    impl<T> Binary for Wrapping<T>
    where\n+

    Required Methods\u00a7

    source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n+

    Implementors\u00a7

    source\u00a7

    impl Binary for i8

    source\u00a7

    impl Binary for i16

    source\u00a7

    impl Binary for i32

    source\u00a7

    impl Binary for i64

    source\u00a7

    impl Binary for i128

    source\u00a7

    impl Binary for isize

    source\u00a7

    impl Binary for u8

    source\u00a7

    impl Binary for u16

    source\u00a7

    impl Binary for u32

    source\u00a7

    impl Binary for u64

    source\u00a7

    impl Binary for u128

    source\u00a7

    impl Binary for usize

    source\u00a7

    impl<T> Binary for &T
    where\n+ T: Binary + ?Sized,

    source\u00a7

    impl<T> Binary for &mut T
    where\n+ T: Binary + ?Sized,

    1.28.0 \u00b7 source\u00a7

    impl<T> Binary for NonZero<T>
    where\n+ T: ZeroablePrimitive + Binary,

    1.74.0 \u00b7 source\u00a7

    impl<T> Binary for Saturating<T>
    where\n+ T: Binary,

    1.11.0 \u00b7 source\u00a7

    impl<T> Binary for Wrapping<T>
    where\n T: Binary,

    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.Debug.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.Debug.html", "unified_diff": "@@ -1,11 +1,11 @@\n Debug in alloc::fmt - Rust
    \n-

    Trait alloc::fmt::Debug

    1.0.0 \u00b7 source \u00b7
    pub trait Debug {\n+    

    Trait alloc::fmt::Debug

    1.0.0 \u00b7 source \u00b7
    pub trait Debug {\n     // Required method\n-    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;\n+    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;\n }
    Expand description

    ? formatting.

    \n

    Debug should format the output in a programmer-facing, debugging context.

    \n

    Generally speaking, you should just derive a Debug implementation.

    \n

    When used with the alternate format specifier #?, the output is pretty-printed.

    \n

    For more information on formatters, see the module-level documentation.

    \n

    This trait can be used with #[derive] if all fields implement Debug. When\n derived for structs, it will use the name of the struct, then {, then a\n@@ -75,15 +75,15 @@\n let origin = Point { x: 0, y: 0 };\n \n assert_eq!(format!(\"The origin is: {origin:#?}\"),\n \"The origin is: Point {\n x: 0,\n y: 0,\n }\");

    Run
    \n-

    Required Methods\u00a7

    source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n+

    Required Methods\u00a7

    source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Position {\n     longitude: f32,\n     latitude: f32,\n }\n@@ -100,178 +100,178 @@\n let position = Position { longitude: 1.987, latitude: 2.983 };\n assert_eq!(format!(\"{position:?}\"), \"(1.987, 2.983)\");\n \n assert_eq!(format!(\"{position:#?}\"), \"(\n     1.987,\n     2.983,\n )\");
    Run
    \n-

    Implementors\u00a7

    source\u00a7

    impl Debug for AsciiChar

    source\u00a7

    impl Debug for core::cmp::Ordering

    1.34.0 \u00b7 source\u00a7

    impl Debug for Infallible

    1.16.0 \u00b7 source\u00a7

    impl Debug for c_void

    1.7.0 \u00b7 source\u00a7

    impl Debug for IpAddr

    source\u00a7

    impl Debug for Ipv6MulticastScope

    source\u00a7

    impl Debug for SocketAddr

    source\u00a7

    impl Debug for FpCategory

    1.55.0 \u00b7 source\u00a7

    impl Debug for IntErrorKind

    source\u00a7

    impl Debug for core::sync::atomic::Ordering

    source\u00a7

    impl Debug for TryReserveErrorKind

    source\u00a7

    impl Debug for SearchStep

    1.28.0 \u00b7 source\u00a7

    impl Debug for alloc::fmt::Alignment

    source\u00a7

    impl Debug for bool

    source\u00a7

    impl Debug for char

    source\u00a7

    impl Debug for f32

    source\u00a7

    impl Debug for f64

    source\u00a7

    impl Debug for i8

    source\u00a7

    impl Debug for i16

    source\u00a7

    impl Debug for i32

    source\u00a7

    impl Debug for i64

    source\u00a7

    impl Debug for i128

    source\u00a7

    impl Debug for isize

    source\u00a7

    impl Debug for !

    source\u00a7

    impl Debug for str

    source\u00a7

    impl Debug for u8

    source\u00a7

    impl Debug for u16

    source\u00a7

    impl Debug for u32

    source\u00a7

    impl Debug for u64

    source\u00a7

    impl Debug for u128

    source\u00a7

    impl Debug for ()

    source\u00a7

    impl Debug for usize

    source\u00a7

    impl Debug for TypeId

    1.34.0 \u00b7 source\u00a7

    impl Debug for TryFromSliceError

    1.16.0 \u00b7 source\u00a7

    impl Debug for core::ascii::EscapeDefault

    1.13.0 \u00b7 source\u00a7

    impl Debug for BorrowError

    1.13.0 \u00b7 source\u00a7

    impl Debug for BorrowMutError

    1.34.0 \u00b7 source\u00a7

    impl Debug for CharTryFromError

    1.20.0 \u00b7 source\u00a7

    impl Debug for ParseCharError

    1.9.0 \u00b7 source\u00a7

    impl Debug for DecodeUtf16Error

    1.20.0 \u00b7 source\u00a7

    impl Debug for core::char::EscapeDebug

    source\u00a7

    impl Debug for core::char::EscapeDefault

    source\u00a7

    impl Debug for core::char::EscapeUnicode

    source\u00a7

    impl Debug for ToLowercase

    source\u00a7

    impl Debug for ToUppercase

    1.59.0 \u00b7 source\u00a7

    impl Debug for TryFromCharError

    1.27.0 \u00b7 source\u00a7

    impl Debug for CpuidResult

    1.27.0 \u00b7 source\u00a7

    impl Debug for __m128

    source\u00a7

    impl Debug for __m128bh

    1.27.0 \u00b7 source\u00a7

    impl Debug for __m128d

    1.27.0 \u00b7 source\u00a7

    impl Debug for __m128i

    1.27.0 \u00b7 source\u00a7

    impl Debug for __m256

    source\u00a7

    impl Debug for __m256bh

    1.27.0 \u00b7 source\u00a7

    impl Debug for __m256d

    1.27.0 \u00b7 source\u00a7

    impl Debug for __m256i

    1.72.0 \u00b7 source\u00a7

    impl Debug for __m512

    source\u00a7

    impl Debug for __m512bh

    1.72.0 \u00b7 source\u00a7

    impl Debug for __m512d

    1.72.0 \u00b7 source\u00a7

    impl Debug for __m512i

    1.3.0 \u00b7 source\u00a7

    impl Debug for CStr

    1.69.0 \u00b7 source\u00a7

    impl Debug for FromBytesUntilNulError

    1.64.0 \u00b7 source\u00a7

    impl Debug for FromBytesWithNulError

    source\u00a7

    impl Debug for SipHasher

    source\u00a7

    impl Debug for BorrowedBuf<'_>

    1.33.0 \u00b7 source\u00a7

    impl Debug for PhantomPinned

    source\u00a7

    impl Debug for Assume

    source\u00a7

    impl Debug for Ipv4Addr

    source\u00a7

    impl Debug for Ipv6Addr

    source\u00a7

    impl Debug for AddrParseError

    source\u00a7

    impl Debug for SocketAddrV4

    source\u00a7

    impl Debug for SocketAddrV6

    source\u00a7

    impl Debug for ParseFloatError

    source\u00a7

    impl Debug for ParseIntError

    1.34.0 \u00b7 source\u00a7

    impl Debug for TryFromIntError

    source\u00a7

    impl Debug for RangeFull

    source\u00a7

    impl Debug for core::ptr::alignment::Alignment

    source\u00a7

    impl Debug for TimSortRun

    1.3.0 \u00b7 source\u00a7

    impl Debug for AtomicBool

    1.34.0 \u00b7 source\u00a7

    impl Debug for AtomicI8

    1.34.0 \u00b7 source\u00a7

    impl Debug for AtomicI16

    1.34.0 \u00b7 source\u00a7

    impl Debug for AtomicI32

    1.34.0 \u00b7 source\u00a7

    impl Debug for AtomicI64

    1.3.0 \u00b7 source\u00a7

    impl Debug for AtomicIsize

    1.34.0 \u00b7 source\u00a7

    impl Debug for AtomicU8

    1.34.0 \u00b7 source\u00a7

    impl Debug for AtomicU16

    1.34.0 \u00b7 source\u00a7

    impl Debug for AtomicU32

    1.34.0 \u00b7 source\u00a7

    impl Debug for AtomicU64

    1.3.0 \u00b7 source\u00a7

    impl Debug for AtomicUsize

    1.36.0 \u00b7 source\u00a7

    impl Debug for Context<'_>

    source\u00a7

    impl Debug for LocalWaker

    1.36.0 \u00b7 source\u00a7

    impl Debug for RawWaker

    1.36.0 \u00b7 source\u00a7

    impl Debug for RawWakerVTable

    1.36.0 \u00b7 source\u00a7

    impl Debug for Waker

    1.27.0 \u00b7 source\u00a7

    impl Debug for Duration

    1.66.0 \u00b7 source\u00a7

    impl Debug for TryFromFloatSecsError

    source\u00a7

    impl Debug for AllocError

    source\u00a7

    impl Debug for Global

    1.28.0 \u00b7 source\u00a7

    impl Debug for Layout

    1.50.0 \u00b7 source\u00a7

    impl Debug for LayoutError

    source\u00a7

    impl Debug for UnorderedKeyError

    1.57.0 \u00b7 source\u00a7

    impl Debug for TryReserveError

    1.64.0 \u00b7 source\u00a7

    impl Debug for FromVecWithNulError

    1.64.0 \u00b7 source\u00a7

    impl Debug for IntoStringError

    1.64.0 \u00b7 source\u00a7

    impl Debug for NulError

    source\u00a7

    impl Debug for CString

    1.38.0 \u00b7 source\u00a7

    impl Debug for Chars<'_>

    1.17.0 \u00b7 source\u00a7

    impl Debug for EncodeUtf16<'_>

    source\u00a7

    impl Debug for ParseBoolError

    source\u00a7

    impl Debug for Utf8Chunks<'_>

    source\u00a7

    impl Debug for Utf8Error

    1.17.0 \u00b7 source\u00a7

    impl Debug for alloc::string::Drain<'_>

    source\u00a7

    impl Debug for FromUtf8Error

    source\u00a7

    impl Debug for FromUtf16Error

    source\u00a7

    impl Debug for String

    source\u00a7

    impl Debug for Arguments<'_>

    source\u00a7

    impl Debug for Error

    source\u00a7

    impl Debug for dyn Any

    source\u00a7

    impl Debug for dyn Any + Send

    1.28.0 \u00b7 source\u00a7

    impl Debug for dyn Any + Sync + Send

    source\u00a7

    impl<'a> Debug for Request<'a>

    source\u00a7

    impl<'a> Debug for Source<'a>

    source\u00a7

    impl<'a> Debug for core::ffi::c_str::Bytes<'a>

    source\u00a7

    impl<'a> Debug for BorrowedCursor<'a>

    1.10.0 \u00b7 source\u00a7

    impl<'a> Debug for Location<'a>

    1.10.0 \u00b7 source\u00a7

    impl<'a> Debug for PanicInfo<'a>

    source\u00a7

    impl<'a> Debug for ContextBuilder<'a>

    1.60.0 \u00b7 source\u00a7

    impl<'a> Debug for EscapeAscii<'a>

    source\u00a7

    impl<'a> Debug for CharSearcher<'a>

    source\u00a7

    impl<'a> Debug for alloc::str::Bytes<'a>

    source\u00a7

    impl<'a> Debug for CharIndices<'a>

    1.34.0 \u00b7 source\u00a7

    impl<'a> Debug for alloc::str::EscapeDebug<'a>

    1.34.0 \u00b7 source\u00a7

    impl<'a> Debug for alloc::str::EscapeDefault<'a>

    1.34.0 \u00b7 source\u00a7

    impl<'a> Debug for alloc::str::EscapeUnicode<'a>

    source\u00a7

    impl<'a> Debug for Lines<'a>

    source\u00a7

    impl<'a> Debug for LinesAny<'a>

    1.34.0 \u00b7 source\u00a7

    impl<'a> Debug for SplitAsciiWhitespace<'a>

    1.1.0 \u00b7 source\u00a7

    impl<'a> Debug for SplitWhitespace<'a>

    source\u00a7

    impl<'a> Debug for Utf8Chunk<'a>

    source\u00a7

    impl<'a, 'b> Debug for CharSliceSearcher<'a, 'b>

    source\u00a7

    impl<'a, 'b> Debug for StrSearcher<'a, 'b>

    source\u00a7

    impl<'a, 'b, const N: usize> Debug for CharArrayRefSearcher<'a, 'b, N>

    source\u00a7

    impl<'a, 'f> Debug for VaList<'a, 'f>
    where\n- 'f: 'a,

    source\u00a7

    impl<'a, A> Debug for core::option::Iter<'a, A>
    where\n- A: Debug + 'a,

    source\u00a7

    impl<'a, A> Debug for core::option::IterMut<'a, A>
    where\n- A: Debug + 'a,

    source\u00a7

    impl<'a, I> Debug for ByRefSized<'a, I>
    where\n- I: Debug,

    1.21.0 \u00b7 source\u00a7

    impl<'a, I: Debug + Iterator + 'a, A: Debug + Allocator + 'a> Debug for Splice<'a, I, A>
    where\n- I::Item: Debug,

    1.5.0 \u00b7 source\u00a7

    impl<'a, P> Debug for MatchIndices<'a, P>
    where\n- P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Debug,

    1.2.0 \u00b7 source\u00a7

    impl<'a, P> Debug for Matches<'a, P>
    where\n- P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Debug,

    1.5.0 \u00b7 source\u00a7

    impl<'a, P> Debug for RMatchIndices<'a, P>
    where\n- P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Debug,

    1.2.0 \u00b7 source\u00a7

    impl<'a, P> Debug for RMatches<'a, P>
    where\n- P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    impl<'a, P> Debug for alloc::str::RSplit<'a, P>
    where\n- P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    impl<'a, P> Debug for alloc::str::RSplitN<'a, P>
    where\n- P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    impl<'a, P> Debug for RSplitTerminator<'a, P>
    where\n- P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    impl<'a, P> Debug for alloc::str::Split<'a, P>
    where\n- P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Debug,

    1.51.0 \u00b7 source\u00a7

    impl<'a, P> Debug for alloc::str::SplitInclusive<'a, P>
    where\n- P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    impl<'a, P> Debug for alloc::str::SplitN<'a, P>
    where\n- P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    impl<'a, P> Debug for SplitTerminator<'a, P>
    where\n- P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    impl<'a, T> Debug for core::result::Iter<'a, T>
    where\n- T: Debug + 'a,

    source\u00a7

    impl<'a, T> Debug for core::result::IterMut<'a, T>
    where\n- T: Debug + 'a,

    source\u00a7

    impl<'a, T> Debug for Chunks<'a, T>
    where\n- T: Debug + 'a,

    1.31.0 \u00b7 source\u00a7

    impl<'a, T> Debug for ChunksExact<'a, T>
    where\n- T: Debug + 'a,

    1.31.0 \u00b7 source\u00a7

    impl<'a, T> Debug for ChunksExactMut<'a, T>
    where\n- T: Debug + 'a,

    source\u00a7

    impl<'a, T> Debug for ChunksMut<'a, T>
    where\n- T: Debug + 'a,

    1.31.0 \u00b7 source\u00a7

    impl<'a, T> Debug for RChunks<'a, T>
    where\n- T: Debug + 'a,

    1.31.0 \u00b7 source\u00a7

    impl<'a, T> Debug for RChunksExact<'a, T>
    where\n- T: Debug + 'a,

    1.31.0 \u00b7 source\u00a7

    impl<'a, T> Debug for RChunksExactMut<'a, T>
    where\n- T: Debug + 'a,

    1.31.0 \u00b7 source\u00a7

    impl<'a, T> Debug for RChunksMut<'a, T>
    where\n- T: Debug + 'a,

    source\u00a7

    impl<'a, T> Debug for Windows<'a, T>
    where\n- T: Debug + 'a,

    1.77.0 \u00b7 source\u00a7

    impl<'a, T, P> Debug for ChunkBy<'a, T, P>
    where\n- T: 'a + Debug,

    1.77.0 \u00b7 source\u00a7

    impl<'a, T, P> Debug for ChunkByMut<'a, T, P>
    where\n- T: 'a + Debug,

    source\u00a7

    impl<'a, T, const N: usize> Debug for alloc::slice::ArrayChunks<'a, T, N>
    where\n- T: Debug + 'a,

    source\u00a7

    impl<'a, T, const N: usize> Debug for ArrayChunksMut<'a, T, N>
    where\n- T: Debug + 'a,

    source\u00a7

    impl<'a, T, const N: usize> Debug for ArrayWindows<'a, T, N>
    where\n- T: Debug + 'a,

    1.17.0 \u00b7 source\u00a7

    impl<'a, T: Debug + 'a> Debug for alloc::collections::btree_set::Range<'a, T>

    1.6.0 \u00b7 source\u00a7

    impl<'a, T: Debug + 'a, A: Debug + Allocator> Debug for alloc::collections::binary_heap::Drain<'a, T, A>

    source\u00a7

    impl<'a, T: Debug + Ord, A: Debug + Allocator> Debug for DrainSorted<'a, T, A>

    source\u00a7

    impl<'a, T: Debug, F, A: Debug + Allocator> Debug for alloc::vec::ExtractIf<'a, T, F, A>
    where\n- F: FnMut(&mut T) -> bool + Debug,

    source\u00a7

    impl<'a, const N: usize> Debug for CharArraySearcher<'a, N>

    source\u00a7

    impl<'f> Debug for VaListImpl<'f>

    source\u00a7

    impl<A> Debug for Repeat<A>
    where\n- A: Debug,

    source\u00a7

    impl<A> Debug for RepeatN<A>
    where\n- A: Debug,

    source\u00a7

    impl<A> Debug for core::option::IntoIter<A>
    where\n- A: Debug,

    source\u00a7

    impl<A, B> Debug for Chain<A, B>
    where\n+

    Implementors\u00a7

    source\u00a7

    impl Debug for TryReserveErrorKind

    source\u00a7

    impl Debug for SearchStep

    1.28.0 \u00b7 source\u00a7

    impl Debug for alloc::fmt::Alignment

    source\u00a7

    impl Debug for AsciiChar

    source\u00a7

    impl Debug for core::cmp::Ordering

    1.34.0 \u00b7 source\u00a7

    impl Debug for Infallible

    1.16.0 \u00b7 source\u00a7

    impl Debug for c_void

    1.7.0 \u00b7 source\u00a7

    impl Debug for IpAddr

    source\u00a7

    impl Debug for Ipv6MulticastScope

    source\u00a7

    impl Debug for SocketAddr

    source\u00a7

    impl Debug for FpCategory

    1.55.0 \u00b7 source\u00a7

    impl Debug for IntErrorKind

    source\u00a7

    impl Debug for core::sync::atomic::Ordering

    source\u00a7

    impl Debug for bool

    source\u00a7

    impl Debug for char

    source\u00a7

    impl Debug for f32

    source\u00a7

    impl Debug for f64

    source\u00a7

    impl Debug for i8

    source\u00a7

    impl Debug for i16

    source\u00a7

    impl Debug for i32

    source\u00a7

    impl Debug for i64

    source\u00a7

    impl Debug for i128

    source\u00a7

    impl Debug for isize

    source\u00a7

    impl Debug for !

    source\u00a7

    impl Debug for str

    source\u00a7

    impl Debug for u8

    source\u00a7

    impl Debug for u16

    source\u00a7

    impl Debug for u32

    source\u00a7

    impl Debug for u64

    source\u00a7

    impl Debug for u128

    source\u00a7

    impl Debug for ()

    source\u00a7

    impl Debug for usize

    source\u00a7

    impl Debug for AllocError

    source\u00a7

    impl Debug for Global

    1.28.0 \u00b7 source\u00a7

    impl Debug for Layout

    1.50.0 \u00b7 source\u00a7

    impl Debug for LayoutError

    source\u00a7

    impl Debug for UnorderedKeyError

    1.57.0 \u00b7 source\u00a7

    impl Debug for TryReserveError

    1.64.0 \u00b7 source\u00a7

    impl Debug for FromVecWithNulError

    1.64.0 \u00b7 source\u00a7

    impl Debug for IntoStringError

    1.64.0 \u00b7 source\u00a7

    impl Debug for NulError

    source\u00a7

    impl Debug for CString

    1.38.0 \u00b7 source\u00a7

    impl Debug for Chars<'_>

    1.17.0 \u00b7 source\u00a7

    impl Debug for EncodeUtf16<'_>

    source\u00a7

    impl Debug for ParseBoolError

    source\u00a7

    impl Debug for Utf8Chunks<'_>

    source\u00a7

    impl Debug for Utf8Error

    1.17.0 \u00b7 source\u00a7

    impl Debug for alloc::string::Drain<'_>

    source\u00a7

    impl Debug for FromUtf8Error

    source\u00a7

    impl Debug for FromUtf16Error

    source\u00a7

    impl Debug for String

    source\u00a7

    impl Debug for TypeId

    1.34.0 \u00b7 source\u00a7

    impl Debug for TryFromSliceError

    1.16.0 \u00b7 source\u00a7

    impl Debug for core::ascii::EscapeDefault

    1.13.0 \u00b7 source\u00a7

    impl Debug for BorrowError

    1.13.0 \u00b7 source\u00a7

    impl Debug for BorrowMutError

    1.34.0 \u00b7 source\u00a7

    impl Debug for CharTryFromError

    1.20.0 \u00b7 source\u00a7

    impl Debug for ParseCharError

    1.9.0 \u00b7 source\u00a7

    impl Debug for DecodeUtf16Error

    1.20.0 \u00b7 source\u00a7

    impl Debug for core::char::EscapeDebug

    source\u00a7

    impl Debug for core::char::EscapeDefault

    source\u00a7

    impl Debug for core::char::EscapeUnicode

    source\u00a7

    impl Debug for ToLowercase

    source\u00a7

    impl Debug for ToUppercase

    1.59.0 \u00b7 source\u00a7

    impl Debug for TryFromCharError

    1.27.0 \u00b7 source\u00a7

    impl Debug for CpuidResult

    1.27.0 \u00b7 source\u00a7

    impl Debug for __m128

    source\u00a7

    impl Debug for __m128bh

    1.27.0 \u00b7 source\u00a7

    impl Debug for __m128d

    1.27.0 \u00b7 source\u00a7

    impl Debug for __m128i

    1.27.0 \u00b7 source\u00a7

    impl Debug for __m256

    source\u00a7

    impl Debug for __m256bh

    1.27.0 \u00b7 source\u00a7

    impl Debug for __m256d

    1.27.0 \u00b7 source\u00a7

    impl Debug for __m256i

    1.72.0 \u00b7 source\u00a7

    impl Debug for __m512

    source\u00a7

    impl Debug for __m512bh

    1.72.0 \u00b7 source\u00a7

    impl Debug for __m512d

    1.72.0 \u00b7 source\u00a7

    impl Debug for __m512i

    1.3.0 \u00b7 source\u00a7

    impl Debug for CStr

    1.69.0 \u00b7 source\u00a7

    impl Debug for FromBytesUntilNulError

    1.64.0 \u00b7 source\u00a7

    impl Debug for FromBytesWithNulError

    source\u00a7

    impl Debug for SipHasher

    source\u00a7

    impl Debug for BorrowedBuf<'_>

    1.33.0 \u00b7 source\u00a7

    impl Debug for PhantomPinned

    source\u00a7

    impl Debug for Assume

    source\u00a7

    impl Debug for Ipv4Addr

    source\u00a7

    impl Debug for Ipv6Addr

    source\u00a7

    impl Debug for AddrParseError

    source\u00a7

    impl Debug for SocketAddrV4

    source\u00a7

    impl Debug for SocketAddrV6

    source\u00a7

    impl Debug for ParseFloatError

    source\u00a7

    impl Debug for ParseIntError

    1.34.0 \u00b7 source\u00a7

    impl Debug for TryFromIntError

    source\u00a7

    impl Debug for RangeFull

    source\u00a7

    impl Debug for core::ptr::alignment::Alignment

    source\u00a7

    impl Debug for TimSortRun

    1.3.0 \u00b7 source\u00a7

    impl Debug for AtomicBool

    1.34.0 \u00b7 source\u00a7

    impl Debug for AtomicI8

    1.34.0 \u00b7 source\u00a7

    impl Debug for AtomicI16

    1.34.0 \u00b7 source\u00a7

    impl Debug for AtomicI32

    1.34.0 \u00b7 source\u00a7

    impl Debug for AtomicI64

    1.3.0 \u00b7 source\u00a7

    impl Debug for AtomicIsize

    1.34.0 \u00b7 source\u00a7

    impl Debug for AtomicU8

    1.34.0 \u00b7 source\u00a7

    impl Debug for AtomicU16

    1.34.0 \u00b7 source\u00a7

    impl Debug for AtomicU32

    1.34.0 \u00b7 source\u00a7

    impl Debug for AtomicU64

    1.3.0 \u00b7 source\u00a7

    impl Debug for AtomicUsize

    1.36.0 \u00b7 source\u00a7

    impl Debug for Context<'_>

    source\u00a7

    impl Debug for LocalWaker

    1.36.0 \u00b7 source\u00a7

    impl Debug for RawWaker

    1.36.0 \u00b7 source\u00a7

    impl Debug for RawWakerVTable

    1.36.0 \u00b7 source\u00a7

    impl Debug for Waker

    1.27.0 \u00b7 source\u00a7

    impl Debug for Duration

    1.66.0 \u00b7 source\u00a7

    impl Debug for TryFromFloatSecsError

    source\u00a7

    impl Debug for Arguments<'_>

    source\u00a7

    impl Debug for Error

    source\u00a7

    impl Debug for dyn Any

    source\u00a7

    impl Debug for dyn Any + Send

    1.28.0 \u00b7 source\u00a7

    impl Debug for dyn Any + Sync + Send

    1.60.0 \u00b7 source\u00a7

    impl<'a> Debug for EscapeAscii<'a>

    source\u00a7

    impl<'a> Debug for CharSearcher<'a>

    source\u00a7

    impl<'a> Debug for alloc::str::Bytes<'a>

    source\u00a7

    impl<'a> Debug for CharIndices<'a>

    1.34.0 \u00b7 source\u00a7

    impl<'a> Debug for alloc::str::EscapeDebug<'a>

    1.34.0 \u00b7 source\u00a7

    impl<'a> Debug for alloc::str::EscapeDefault<'a>

    1.34.0 \u00b7 source\u00a7

    impl<'a> Debug for alloc::str::EscapeUnicode<'a>

    source\u00a7

    impl<'a> Debug for Lines<'a>

    source\u00a7

    impl<'a> Debug for LinesAny<'a>

    1.34.0 \u00b7 source\u00a7

    impl<'a> Debug for SplitAsciiWhitespace<'a>

    1.1.0 \u00b7 source\u00a7

    impl<'a> Debug for SplitWhitespace<'a>

    source\u00a7

    impl<'a> Debug for Utf8Chunk<'a>

    source\u00a7

    impl<'a> Debug for Request<'a>

    source\u00a7

    impl<'a> Debug for Source<'a>

    source\u00a7

    impl<'a> Debug for core::ffi::c_str::Bytes<'a>

    source\u00a7

    impl<'a> Debug for BorrowedCursor<'a>

    1.10.0 \u00b7 source\u00a7

    impl<'a> Debug for Location<'a>

    1.10.0 \u00b7 source\u00a7

    impl<'a> Debug for PanicInfo<'a>

    source\u00a7

    impl<'a> Debug for ContextBuilder<'a>

    source\u00a7

    impl<'a, 'b> Debug for CharSliceSearcher<'a, 'b>

    source\u00a7

    impl<'a, 'b> Debug for StrSearcher<'a, 'b>

    source\u00a7

    impl<'a, 'b, const N: usize> Debug for CharArrayRefSearcher<'a, 'b, N>

    source\u00a7

    impl<'a, 'f> Debug for VaList<'a, 'f>
    where\n+ 'f: 'a,

    source\u00a7

    impl<'a, A> Debug for core::option::Iter<'a, A>
    where\n+ A: Debug + 'a,

    source\u00a7

    impl<'a, A> Debug for core::option::IterMut<'a, A>
    where\n+ A: Debug + 'a,

    source\u00a7

    impl<'a, I> Debug for ByRefSized<'a, I>
    where\n+ I: Debug,

    1.21.0 \u00b7 source\u00a7

    impl<'a, I: Debug + Iterator + 'a, A: Debug + Allocator + 'a> Debug for Splice<'a, I, A>
    where\n+ I::Item: Debug,

    1.5.0 \u00b7 source\u00a7

    impl<'a, P> Debug for MatchIndices<'a, P>
    where\n+ P: Pattern<'a>,\n+ <P as Pattern<'a>>::Searcher: Debug,

    1.2.0 \u00b7 source\u00a7

    impl<'a, P> Debug for Matches<'a, P>
    where\n+ P: Pattern<'a>,\n+ <P as Pattern<'a>>::Searcher: Debug,

    1.5.0 \u00b7 source\u00a7

    impl<'a, P> Debug for RMatchIndices<'a, P>
    where\n+ P: Pattern<'a>,\n+ <P as Pattern<'a>>::Searcher: Debug,

    1.2.0 \u00b7 source\u00a7

    impl<'a, P> Debug for RMatches<'a, P>
    where\n+ P: Pattern<'a>,\n+ <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    impl<'a, P> Debug for alloc::str::RSplit<'a, P>
    where\n+ P: Pattern<'a>,\n+ <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    impl<'a, P> Debug for alloc::str::RSplitN<'a, P>
    where\n+ P: Pattern<'a>,\n+ <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    impl<'a, P> Debug for RSplitTerminator<'a, P>
    where\n+ P: Pattern<'a>,\n+ <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    impl<'a, P> Debug for alloc::str::Split<'a, P>
    where\n+ P: Pattern<'a>,\n+ <P as Pattern<'a>>::Searcher: Debug,

    1.51.0 \u00b7 source\u00a7

    impl<'a, P> Debug for alloc::str::SplitInclusive<'a, P>
    where\n+ P: Pattern<'a>,\n+ <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    impl<'a, P> Debug for alloc::str::SplitN<'a, P>
    where\n+ P: Pattern<'a>,\n+ <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    impl<'a, P> Debug for SplitTerminator<'a, P>
    where\n+ P: Pattern<'a>,\n+ <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    impl<'a, T> Debug for Chunks<'a, T>
    where\n+ T: Debug + 'a,

    1.31.0 \u00b7 source\u00a7

    impl<'a, T> Debug for ChunksExact<'a, T>
    where\n+ T: Debug + 'a,

    1.31.0 \u00b7 source\u00a7

    impl<'a, T> Debug for ChunksExactMut<'a, T>
    where\n+ T: Debug + 'a,

    source\u00a7

    impl<'a, T> Debug for ChunksMut<'a, T>
    where\n+ T: Debug + 'a,

    1.31.0 \u00b7 source\u00a7

    impl<'a, T> Debug for RChunks<'a, T>
    where\n+ T: Debug + 'a,

    1.31.0 \u00b7 source\u00a7

    impl<'a, T> Debug for RChunksExact<'a, T>
    where\n+ T: Debug + 'a,

    1.31.0 \u00b7 source\u00a7

    impl<'a, T> Debug for RChunksExactMut<'a, T>
    where\n+ T: Debug + 'a,

    1.31.0 \u00b7 source\u00a7

    impl<'a, T> Debug for RChunksMut<'a, T>
    where\n+ T: Debug + 'a,

    source\u00a7

    impl<'a, T> Debug for Windows<'a, T>
    where\n+ T: Debug + 'a,

    source\u00a7

    impl<'a, T> Debug for core::result::Iter<'a, T>
    where\n+ T: Debug + 'a,

    source\u00a7

    impl<'a, T> Debug for core::result::IterMut<'a, T>
    where\n+ T: Debug + 'a,

    1.77.0 \u00b7 source\u00a7

    impl<'a, T, P> Debug for ChunkBy<'a, T, P>
    where\n+ T: 'a + Debug,

    1.77.0 \u00b7 source\u00a7

    impl<'a, T, P> Debug for ChunkByMut<'a, T, P>
    where\n+ T: 'a + Debug,

    source\u00a7

    impl<'a, T, const N: usize> Debug for alloc::slice::ArrayChunks<'a, T, N>
    where\n+ T: Debug + 'a,

    source\u00a7

    impl<'a, T, const N: usize> Debug for ArrayChunksMut<'a, T, N>
    where\n+ T: Debug + 'a,

    source\u00a7

    impl<'a, T, const N: usize> Debug for ArrayWindows<'a, T, N>
    where\n+ T: Debug + 'a,

    1.17.0 \u00b7 source\u00a7

    impl<'a, T: Debug + 'a> Debug for alloc::collections::btree_set::Range<'a, T>

    1.6.0 \u00b7 source\u00a7

    impl<'a, T: Debug + 'a, A: Debug + Allocator> Debug for alloc::collections::binary_heap::Drain<'a, T, A>

    source\u00a7

    impl<'a, T: Debug + Ord, A: Debug + Allocator> Debug for DrainSorted<'a, T, A>

    source\u00a7

    impl<'a, T: Debug, F, A: Debug + Allocator> Debug for alloc::vec::ExtractIf<'a, T, F, A>
    where\n+ F: FnMut(&mut T) -> bool + Debug,

    source\u00a7

    impl<'a, const N: usize> Debug for CharArraySearcher<'a, N>

    source\u00a7

    impl<'f> Debug for VaListImpl<'f>

    source\u00a7

    impl<A> Debug for Repeat<A>
    where\n+ A: Debug,

    source\u00a7

    impl<A> Debug for RepeatN<A>
    where\n+ A: Debug,

    source\u00a7

    impl<A> Debug for core::option::IntoIter<A>
    where\n+ A: Debug,

    source\u00a7

    impl<A, B> Debug for Chain<A, B>
    where\n A: Debug,\n- B: Debug,

    source\u00a7

    impl<A, B> Debug for Zip<A, B>
    where\n+ B: Debug,

    source\u00a7

    impl<A, B> Debug for Zip<A, B>
    where\n A: Debug,\n B: Debug,

    source\u00a7

    impl<B> Debug for Cow<'_, B>
    where\n- B: Debug + ToOwned<Owned: Debug> + ?Sized,

    1.55.0 \u00b7 source\u00a7

    impl<B, C> Debug for ControlFlow<B, C>
    where\n+ B: Debug + ToOwned<Owned: Debug> + ?Sized,

    1.55.0 \u00b7 source\u00a7

    impl<B, C> Debug for ControlFlow<B, C>
    where\n B: Debug,\n- C: Debug,

    source\u00a7

    impl<Dyn> Debug for DynMetadata<Dyn>
    where\n- Dyn: ?Sized,

    1.64.0 \u00b7 source\u00a7

    impl<F> Debug for PollFn<F>

    1.34.0 \u00b7 source\u00a7

    impl<F> Debug for FromFn<F>

    1.68.0 \u00b7 source\u00a7

    impl<F> Debug for OnceWith<F>

    1.68.0 \u00b7 source\u00a7

    impl<F> Debug for RepeatWith<F>

    source\u00a7

    impl<F> Debug for CharPredicateSearcher<'_, F>
    where\n- F: FnMut(char) -> bool,

    source\u00a7

    impl<F> Debug for FormatterFn<F>
    where\n- F: Fn(&mut Formatter<'_>) -> Result<(), Error>,

    1.4.0 \u00b7 source\u00a7

    impl<F> Debug for F
    where\n- F: FnPtr,

    1.9.0 \u00b7 source\u00a7

    impl<H> Debug for BuildHasherDefault<H>

    source\u00a7

    impl<I> Debug for FromIter<I>
    where\n- I: Debug,

    1.9.0 \u00b7 source\u00a7

    impl<I> Debug for DecodeUtf16<I>
    where\n- I: Debug + Iterator<Item = u16>,

    1.1.0 \u00b7 source\u00a7

    impl<I> Debug for Cloned<I>
    where\n- I: Debug,

    1.36.0 \u00b7 source\u00a7

    impl<I> Debug for Copied<I>
    where\n- I: Debug,

    source\u00a7

    impl<I> Debug for Cycle<I>
    where\n- I: Debug,

    source\u00a7

    impl<I> Debug for Enumerate<I>
    where\n- I: Debug,

    source\u00a7

    impl<I> Debug for Fuse<I>
    where\n- I: Debug,

    source\u00a7

    impl<I> Debug for Intersperse<I>
    where\n- I: Debug + Iterator,\n- <I as Iterator>::Item: Clone + Debug,

    source\u00a7

    impl<I> Debug for Peekable<I>
    where\n- I: Debug + Iterator,\n- <I as Iterator>::Item: Debug,

    source\u00a7

    impl<I> Debug for Skip<I>
    where\n- I: Debug,

    1.28.0 \u00b7 source\u00a7

    impl<I> Debug for StepBy<I>
    where\n- I: Debug,

    source\u00a7

    impl<I> Debug for Take<I>
    where\n- I: Debug,

    1.9.0 \u00b7 source\u00a7

    impl<I, F> Debug for FilterMap<I, F>
    where\n- I: Debug,

    1.9.0 \u00b7 source\u00a7

    impl<I, F> Debug for Inspect<I, F>
    where\n- I: Debug,

    1.9.0 \u00b7 source\u00a7

    impl<I, F> Debug for Map<I, F>
    where\n- I: Debug,

    source\u00a7

    impl<I, F, const N: usize> Debug for MapWindows<I, F, N>
    where\n- I: Iterator + Debug,

    source\u00a7

    impl<I, G> Debug for IntersperseWith<I, G>
    where\n- I: Iterator + Debug,\n- <I as Iterator>::Item: Debug,\n- G: Debug,

    1.9.0 \u00b7 source\u00a7

    impl<I, P> Debug for Filter<I, P>
    where\n- I: Debug,

    1.57.0 \u00b7 source\u00a7

    impl<I, P> Debug for MapWhile<I, P>
    where\n- I: Debug,

    1.9.0 \u00b7 source\u00a7

    impl<I, P> Debug for SkipWhile<I, P>
    where\n- I: Debug,

    1.9.0 \u00b7 source\u00a7

    impl<I, P> Debug for TakeWhile<I, P>
    where\n- I: Debug,

    1.9.0 \u00b7 source\u00a7

    impl<I, St, F> Debug for Scan<I, St, F>
    where\n+ C: Debug,

    source\u00a7

    impl<Dyn> Debug for DynMetadata<Dyn>
    where\n+ Dyn: ?Sized,

    source\u00a7

    impl<F> Debug for CharPredicateSearcher<'_, F>
    where\n+ F: FnMut(char) -> bool,

    1.64.0 \u00b7 source\u00a7

    impl<F> Debug for PollFn<F>

    1.34.0 \u00b7 source\u00a7

    impl<F> Debug for FromFn<F>

    1.68.0 \u00b7 source\u00a7

    impl<F> Debug for OnceWith<F>

    1.68.0 \u00b7 source\u00a7

    impl<F> Debug for RepeatWith<F>

    source\u00a7

    impl<F> Debug for FormatterFn<F>
    where\n+ F: Fn(&mut Formatter<'_>) -> Result<(), Error>,

    1.4.0 \u00b7 source\u00a7

    impl<F> Debug for F
    where\n+ F: FnPtr,

    1.9.0 \u00b7 source\u00a7

    impl<H> Debug for BuildHasherDefault<H>

    source\u00a7

    impl<I> Debug for FromIter<I>
    where\n+ I: Debug,

    1.9.0 \u00b7 source\u00a7

    impl<I> Debug for DecodeUtf16<I>
    where\n+ I: Debug + Iterator<Item = u16>,

    1.1.0 \u00b7 source\u00a7

    impl<I> Debug for Cloned<I>
    where\n+ I: Debug,

    1.36.0 \u00b7 source\u00a7

    impl<I> Debug for Copied<I>
    where\n+ I: Debug,

    source\u00a7

    impl<I> Debug for Cycle<I>
    where\n+ I: Debug,

    source\u00a7

    impl<I> Debug for Enumerate<I>
    where\n+ I: Debug,

    source\u00a7

    impl<I> Debug for Fuse<I>
    where\n+ I: Debug,

    source\u00a7

    impl<I> Debug for Intersperse<I>
    where\n+ I: Debug + Iterator,\n+ <I as Iterator>::Item: Clone + Debug,

    source\u00a7

    impl<I> Debug for Peekable<I>
    where\n+ I: Debug + Iterator,\n+ <I as Iterator>::Item: Debug,

    source\u00a7

    impl<I> Debug for Skip<I>
    where\n+ I: Debug,

    1.28.0 \u00b7 source\u00a7

    impl<I> Debug for StepBy<I>
    where\n+ I: Debug,

    source\u00a7

    impl<I> Debug for Take<I>
    where\n+ I: Debug,

    1.9.0 \u00b7 source\u00a7

    impl<I, F> Debug for FilterMap<I, F>
    where\n+ I: Debug,

    1.9.0 \u00b7 source\u00a7

    impl<I, F> Debug for Inspect<I, F>
    where\n+ I: Debug,

    1.9.0 \u00b7 source\u00a7

    impl<I, F> Debug for Map<I, F>
    where\n+ I: Debug,

    source\u00a7

    impl<I, F, const N: usize> Debug for MapWindows<I, F, N>
    where\n+ I: Iterator + Debug,

    source\u00a7

    impl<I, G> Debug for IntersperseWith<I, G>
    where\n+ I: Iterator + Debug,\n+ <I as Iterator>::Item: Debug,\n+ G: Debug,

    1.9.0 \u00b7 source\u00a7

    impl<I, P> Debug for Filter<I, P>
    where\n+ I: Debug,

    1.57.0 \u00b7 source\u00a7

    impl<I, P> Debug for MapWhile<I, P>
    where\n+ I: Debug,

    1.9.0 \u00b7 source\u00a7

    impl<I, P> Debug for SkipWhile<I, P>
    where\n+ I: Debug,

    1.9.0 \u00b7 source\u00a7

    impl<I, P> Debug for TakeWhile<I, P>
    where\n+ I: Debug,

    1.9.0 \u00b7 source\u00a7

    impl<I, St, F> Debug for Scan<I, St, F>
    where\n I: Debug,\n- St: Debug,

    1.29.0 \u00b7 source\u00a7

    impl<I, U> Debug for Flatten<I>
    where\n- I: Debug + Iterator,\n- <I as Iterator>::Item: IntoIterator<IntoIter = U, Item = <U as Iterator>::Item>,\n- U: Debug + Iterator,

    1.9.0 \u00b7 source\u00a7

    impl<I, U, F> Debug for FlatMap<I, U, F>
    where\n+ St: Debug,

    1.29.0 \u00b7 source\u00a7

    impl<I, U> Debug for Flatten<I>
    where\n+ I: Debug + Iterator,\n+ <I as Iterator>::Item: IntoIterator<IntoIter = U, Item = <U as Iterator>::Item>,\n+ U: Debug + Iterator,

    1.9.0 \u00b7 source\u00a7

    impl<I, U, F> Debug for FlatMap<I, U, F>
    where\n I: Debug,\n- U: IntoIterator,\n- <U as IntoIterator>::IntoIter: Debug,

    source\u00a7

    impl<I, const N: usize> Debug for core::iter::adapters::array_chunks::ArrayChunks<I, N>
    where\n- I: Debug + Iterator,\n- <I as Iterator>::Item: Debug,

    source\u00a7

    impl<Idx> Debug for core::ops::range::Range<Idx>
    where\n- Idx: Debug,

    source\u00a7

    impl<Idx> Debug for RangeFrom<Idx>
    where\n- Idx: Debug,

    1.26.0 \u00b7 source\u00a7

    impl<Idx> Debug for RangeInclusive<Idx>
    where\n- Idx: Debug,

    source\u00a7

    impl<Idx> Debug for RangeTo<Idx>
    where\n- Idx: Debug,

    1.26.0 \u00b7 source\u00a7

    impl<Idx> Debug for RangeToInclusive<Idx>
    where\n+ U: IntoIterator,\n+ <U as IntoIterator>::IntoIter: Debug,

    source\u00a7

    impl<I, const N: usize> Debug for core::iter::adapters::array_chunks::ArrayChunks<I, N>
    where\n+ I: Debug + Iterator,\n+ <I as Iterator>::Item: Debug,

    source\u00a7

    impl<Idx> Debug for core::ops::range::Range<Idx>
    where\n+ Idx: Debug,

    source\u00a7

    impl<Idx> Debug for RangeFrom<Idx>
    where\n+ Idx: Debug,

    1.26.0 \u00b7 source\u00a7

    impl<Idx> Debug for RangeInclusive<Idx>
    where\n+ Idx: Debug,

    source\u00a7

    impl<Idx> Debug for RangeTo<Idx>
    where\n+ Idx: Debug,

    1.26.0 \u00b7 source\u00a7

    impl<Idx> Debug for RangeToInclusive<Idx>
    where\n Idx: Debug,

    source\u00a7

    impl<K, V, F> Debug for alloc::collections::btree_map::ExtractIf<'_, K, V, F>
    where\n K: Debug,\n V: Debug,\n- F: FnMut(&K, &mut V) -> bool,

    1.17.0 \u00b7 source\u00a7

    impl<K, V: Debug> Debug for Values<'_, K, V>

    1.10.0 \u00b7 source\u00a7

    impl<K, V: Debug> Debug for ValuesMut<'_, K, V>

    1.54.0 \u00b7 source\u00a7

    impl<K, V: Debug, A: Allocator + Clone> Debug for IntoValues<K, V, A>

    1.12.0 \u00b7 source\u00a7

    impl<K: Debug + Ord, V, A: Allocator + Clone> Debug for VacantEntry<'_, K, V, A>

    1.12.0 \u00b7 source\u00a7

    impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for Entry<'_, K, V, A>

    1.12.0 \u00b7 source\u00a7

    impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for OccupiedEntry<'_, K, V, A>

    source\u00a7

    impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for OccupiedError<'_, K, V, A>

    1.17.0 \u00b7 source\u00a7

    impl<K: Debug, V> Debug for Keys<'_, K, V>

    1.54.0 \u00b7 source\u00a7

    impl<K: Debug, V, A: Allocator + Clone> Debug for IntoKeys<K, V, A>

    source\u00a7

    impl<K: Debug, V: Debug> Debug for alloc::collections::btree_map::Cursor<'_, K, V>

    1.17.0 \u00b7 source\u00a7

    impl<K: Debug, V: Debug> Debug for alloc::collections::btree_map::Iter<'_, K, V>

    1.17.0 \u00b7 source\u00a7

    impl<K: Debug, V: Debug> Debug for alloc::collections::btree_map::IterMut<'_, K, V>

    1.17.0 \u00b7 source\u00a7

    impl<K: Debug, V: Debug> Debug for alloc::collections::btree_map::Range<'_, K, V>

    1.17.0 \u00b7 source\u00a7

    impl<K: Debug, V: Debug> Debug for RangeMut<'_, K, V>

    source\u00a7

    impl<K: Debug, V: Debug, A> Debug for alloc::collections::btree_map::CursorMut<'_, K, V, A>

    source\u00a7

    impl<K: Debug, V: Debug, A> Debug for CursorMutKey<'_, K, V, A>

    source\u00a7

    impl<K: Debug, V: Debug, A: Allocator + Clone> Debug for BTreeMap<K, V, A>

    1.17.0 \u00b7 source\u00a7

    impl<K: Debug, V: Debug, A: Allocator + Clone> Debug for alloc::collections::btree_map::IntoIter<K, V, A>

    1.33.0 \u00b7 source\u00a7

    impl<Ptr> Debug for Pin<Ptr>
    where\n- Ptr: Debug,

    1.17.0 \u00b7 source\u00a7

    impl<T> Debug for Bound<T>
    where\n- T: Debug,

    source\u00a7

    impl<T> Debug for Option<T>
    where\n- T: Debug,

    1.36.0 \u00b7 source\u00a7

    impl<T> Debug for Poll<T>
    where\n- T: Debug,

    source\u00a7

    impl<T> Debug for *const T
    where\n- T: ?Sized,

    source\u00a7

    impl<T> Debug for *mut T
    where\n- T: ?Sized,

    source\u00a7

    impl<T> Debug for &T
    where\n- T: Debug + ?Sized,

    source\u00a7

    impl<T> Debug for &mut T
    where\n- T: Debug + ?Sized,

    source\u00a7

    impl<T> Debug for [T]
    where\n- T: Debug,

    source\u00a7

    impl<T> Debug for (T\u2081, T\u2082, \u2026, T\u2099)
    where\n- T: Debug + ?Sized,

    This trait is implemented for tuples up to twelve items long.

    \n-
    1.70.0 \u00b7 source\u00a7

    impl<T> Debug for OnceCell<T>
    where\n- T: Debug,

    source\u00a7

    impl<T> Debug for Cell<T>
    where\n- T: Copy + Debug,

    source\u00a7

    impl<T> Debug for Ref<'_, T>
    where\n- T: Debug + ?Sized,

    source\u00a7

    impl<T> Debug for RefCell<T>
    where\n- T: Debug + ?Sized,

    source\u00a7

    impl<T> Debug for RefMut<'_, T>
    where\n- T: Debug + ?Sized,

    source\u00a7

    impl<T> Debug for SyncUnsafeCell<T>
    where\n- T: ?Sized,

    1.9.0 \u00b7 source\u00a7

    impl<T> Debug for UnsafeCell<T>
    where\n- T: ?Sized,

    1.19.0 \u00b7 source\u00a7

    impl<T> Debug for Reverse<T>
    where\n- T: Debug,

    1.48.0 \u00b7 source\u00a7

    impl<T> Debug for Pending<T>

    1.48.0 \u00b7 source\u00a7

    impl<T> Debug for Ready<T>
    where\n- T: Debug,

    source\u00a7

    impl<T> Debug for Rev<T>
    where\n- T: Debug,

    1.9.0 \u00b7 source\u00a7

    impl<T> Debug for Empty<T>

    1.2.0 \u00b7 source\u00a7

    impl<T> Debug for Once<T>
    where\n- T: Debug,

    source\u00a7

    impl<T> Debug for PhantomData<T>
    where\n- T: ?Sized,

    1.20.0 \u00b7 source\u00a7

    impl<T> Debug for ManuallyDrop<T>
    where\n- T: Debug + ?Sized,

    1.21.0 \u00b7 source\u00a7

    impl<T> Debug for Discriminant<T>

    1.28.0 \u00b7 source\u00a7

    impl<T> Debug for NonZero<T>
    where\n- T: ZeroablePrimitive + Debug,

    1.74.0 \u00b7 source\u00a7

    impl<T> Debug for Saturating<T>
    where\n- T: Debug,

    source\u00a7

    impl<T> Debug for Wrapping<T>
    where\n- T: Debug,

    source\u00a7

    impl<T> Debug for Yeet<T>
    where\n- T: Debug,

    1.16.0 \u00b7 source\u00a7

    impl<T> Debug for AssertUnwindSafe<T>
    where\n- T: Debug,

    1.25.0 \u00b7 source\u00a7

    impl<T> Debug for NonNull<T>
    where\n- T: ?Sized,

    source\u00a7

    impl<T> Debug for core::result::IntoIter<T>
    where\n- T: Debug,

    1.3.0 \u00b7 source\u00a7

    impl<T> Debug for AtomicPtr<T>

    source\u00a7

    impl<T> Debug for Exclusive<T>
    where\n- T: ?Sized,

    1.9.0 \u00b7 source\u00a7

    impl<T> Debug for alloc::slice::Iter<'_, T>
    where\n- T: Debug,

    1.9.0 \u00b7 source\u00a7

    impl<T> Debug for alloc::slice::IterMut<'_, T>
    where\n- T: Debug,

    1.41.0 \u00b7 source\u00a7

    impl<T> Debug for MaybeUninit<T>

    source\u00a7

    impl<T, E> Debug for Result<T, E>
    where\n- T: Debug,\n- E: Debug,

    source\u00a7

    impl<T, F> Debug for LazyCell<T, F>
    where\n- T: Debug,

    1.34.0 \u00b7 source\u00a7

    impl<T, F> Debug for Successors<T, F>
    where\n- T: Debug,

    source\u00a7

    impl<T, F, A: Allocator + Clone> Debug for alloc::collections::btree_set::ExtractIf<'_, T, F, A>
    where\n- T: Debug,\n- F: FnMut(&T) -> bool,

    1.27.0 \u00b7 source\u00a7

    impl<T, P> Debug for alloc::slice::RSplit<'_, T, P>
    where\n- T: Debug,\n- P: FnMut(&T) -> bool,

    1.27.0 \u00b7 source\u00a7

    impl<T, P> Debug for RSplitMut<'_, T, P>
    where\n- T: Debug,\n- P: FnMut(&T) -> bool,

    1.9.0 \u00b7 source\u00a7

    impl<T, P> Debug for alloc::slice::RSplitN<'_, T, P>
    where\n- T: Debug,\n- P: FnMut(&T) -> bool,

    1.9.0 \u00b7 source\u00a7

    impl<T, P> Debug for RSplitNMut<'_, T, P>
    where\n- T: Debug,\n- P: FnMut(&T) -> bool,

    1.9.0 \u00b7 source\u00a7

    impl<T, P> Debug for alloc::slice::Split<'_, T, P>
    where\n- T: Debug,\n- P: FnMut(&T) -> bool,

    1.51.0 \u00b7 source\u00a7

    impl<T, P> Debug for alloc::slice::SplitInclusive<'_, T, P>
    where\n- T: Debug,\n- P: FnMut(&T) -> bool,

    1.51.0 \u00b7 source\u00a7

    impl<T, P> Debug for SplitInclusiveMut<'_, T, P>
    where\n- T: Debug,\n- P: FnMut(&T) -> bool,

    1.9.0 \u00b7 source\u00a7

    impl<T, P> Debug for SplitMut<'_, T, P>
    where\n- T: Debug,\n- P: FnMut(&T) -> bool,

    1.9.0 \u00b7 source\u00a7

    impl<T, P> Debug for alloc::slice::SplitN<'_, T, P>
    where\n- T: Debug,\n- P: FnMut(&T) -> bool,

    1.9.0 \u00b7 source\u00a7

    impl<T, P> Debug for SplitNMut<'_, T, P>
    where\n- T: Debug,\n- P: FnMut(&T) -> bool,

    source\u00a7

    impl<T, const N: usize> Debug for [T; N]
    where\n- T: Debug,

    1.40.0 \u00b7 source\u00a7

    impl<T, const N: usize> Debug for core::array::iter::IntoIter<T, N>
    where\n- T: Debug,

    source\u00a7

    impl<T, const N: usize> Debug for Mask<T, N>

    source\u00a7

    impl<T, const N: usize> Debug for Simd<T, N>

    1.17.0 \u00b7 source\u00a7

    impl<T: Ord + Debug, A: Allocator> Debug for PeekMut<'_, T, A>

    source\u00a7

    impl<T: Debug + ?Sized, A: Allocator> Debug for Box<T, A>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for alloc::collections::binary_heap::Iter<'_, T>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for alloc::collections::btree_set::Iter<'_, T>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for SymmetricDifference<'_, T>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for Union<'_, T>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for alloc::collections::linked_list::Iter<'_, T>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for alloc::collections::linked_list::IterMut<'_, T>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for alloc::collections::vec_deque::Iter<'_, T>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for alloc::collections::vec_deque::IterMut<'_, T>

    source\u00a7

    impl<T: Debug> Debug for UniqueRc<T>

    source\u00a7

    impl<T: Debug, A: Allocator + Clone> Debug for BTreeSet<T, A>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator + Clone> Debug for Difference<'_, T, A>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator + Clone> Debug for Intersection<'_, T, A>

    1.4.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for BinaryHeap<T, A>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for alloc::collections::binary_heap::IntoIter<T, A>

    source\u00a7

    impl<T: Debug, A: Allocator> Debug for alloc::collections::linked_list::Cursor<'_, T, A>

    source\u00a7

    impl<T: Debug, A: Allocator> Debug for alloc::collections::linked_list::CursorMut<'_, T, A>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for alloc::collections::linked_list::IntoIter<T, A>

    source\u00a7

    impl<T: Debug, A: Allocator> Debug for LinkedList<T, A>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for alloc::collections::vec_deque::Drain<'_, T, A>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for alloc::collections::vec_deque::IntoIter<T, A>

    source\u00a7

    impl<T: Debug, A: Allocator> Debug for VecDeque<T, A>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for alloc::vec::Drain<'_, T, A>

    1.13.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for alloc::vec::IntoIter<T, A>

    source\u00a7

    impl<T: Debug, A: Allocator> Debug for Vec<T, A>

    source\u00a7

    impl<T: Debug, A: Debug + Allocator + Clone> Debug for alloc::collections::btree_set::IntoIter<T, A>

    source\u00a7

    impl<T: Debug, A: Debug + Allocator> Debug for IntoIterSorted<T, A>

    source\u00a7

    impl<T: Debug, F> Debug for alloc::collections::linked_list::ExtractIf<'_, T, F>
    where\n- F: FnMut(&mut T) -> bool,

    source\u00a7

    impl<T: ?Sized + Debug> Debug for ThinBox<T>

    source\u00a7

    impl<T: ?Sized + Debug, A: Allocator> Debug for Rc<T, A>

    source\u00a7

    impl<T: ?Sized + Debug, A: Allocator> Debug for Arc<T, A>

    1.4.0 \u00b7 source\u00a7

    impl<T: ?Sized> Debug for alloc::sync::Weak<T>

    1.4.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Debug for alloc::rc::Weak<T, A>

    source\u00a7

    impl<Y, R> Debug for CoroutineState<Y, R>
    where\n+ F: FnMut(&K, &mut V) -> bool,

    1.17.0 \u00b7 source\u00a7

    impl<K, V: Debug> Debug for Values<'_, K, V>

    1.10.0 \u00b7 source\u00a7

    impl<K, V: Debug> Debug for ValuesMut<'_, K, V>

    1.54.0 \u00b7 source\u00a7

    impl<K, V: Debug, A: Allocator + Clone> Debug for IntoValues<K, V, A>

    1.12.0 \u00b7 source\u00a7

    impl<K: Debug + Ord, V, A: Allocator + Clone> Debug for VacantEntry<'_, K, V, A>

    1.12.0 \u00b7 source\u00a7

    impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for Entry<'_, K, V, A>

    1.12.0 \u00b7 source\u00a7

    impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for OccupiedEntry<'_, K, V, A>

    source\u00a7

    impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for OccupiedError<'_, K, V, A>

    1.17.0 \u00b7 source\u00a7

    impl<K: Debug, V> Debug for Keys<'_, K, V>

    1.54.0 \u00b7 source\u00a7

    impl<K: Debug, V, A: Allocator + Clone> Debug for IntoKeys<K, V, A>

    source\u00a7

    impl<K: Debug, V: Debug> Debug for alloc::collections::btree_map::Cursor<'_, K, V>

    1.17.0 \u00b7 source\u00a7

    impl<K: Debug, V: Debug> Debug for alloc::collections::btree_map::Iter<'_, K, V>

    1.17.0 \u00b7 source\u00a7

    impl<K: Debug, V: Debug> Debug for alloc::collections::btree_map::IterMut<'_, K, V>

    1.17.0 \u00b7 source\u00a7

    impl<K: Debug, V: Debug> Debug for alloc::collections::btree_map::Range<'_, K, V>

    1.17.0 \u00b7 source\u00a7

    impl<K: Debug, V: Debug> Debug for RangeMut<'_, K, V>

    source\u00a7

    impl<K: Debug, V: Debug, A> Debug for alloc::collections::btree_map::CursorMut<'_, K, V, A>

    source\u00a7

    impl<K: Debug, V: Debug, A> Debug for CursorMutKey<'_, K, V, A>

    source\u00a7

    impl<K: Debug, V: Debug, A: Allocator + Clone> Debug for BTreeMap<K, V, A>

    1.17.0 \u00b7 source\u00a7

    impl<K: Debug, V: Debug, A: Allocator + Clone> Debug for alloc::collections::btree_map::IntoIter<K, V, A>

    1.33.0 \u00b7 source\u00a7

    impl<Ptr> Debug for Pin<Ptr>
    where\n+ Ptr: Debug,

    1.17.0 \u00b7 source\u00a7

    impl<T> Debug for Bound<T>
    where\n+ T: Debug,

    source\u00a7

    impl<T> Debug for Option<T>
    where\n+ T: Debug,

    1.36.0 \u00b7 source\u00a7

    impl<T> Debug for Poll<T>
    where\n+ T: Debug,

    source\u00a7

    impl<T> Debug for *const T
    where\n+ T: ?Sized,

    source\u00a7

    impl<T> Debug for *mut T
    where\n+ T: ?Sized,

    source\u00a7

    impl<T> Debug for &T
    where\n+ T: Debug + ?Sized,

    source\u00a7

    impl<T> Debug for &mut T
    where\n+ T: Debug + ?Sized,

    source\u00a7

    impl<T> Debug for [T]
    where\n+ T: Debug,

    source\u00a7

    impl<T> Debug for (T\u2081, T\u2082, \u2026, T\u2099)
    where\n+ T: Debug + ?Sized,

    This trait is implemented for tuples up to twelve items long.

    \n+
    1.9.0 \u00b7 source\u00a7

    impl<T> Debug for alloc::slice::Iter<'_, T>
    where\n+ T: Debug,

    1.9.0 \u00b7 source\u00a7

    impl<T> Debug for alloc::slice::IterMut<'_, T>
    where\n+ T: Debug,

    1.70.0 \u00b7 source\u00a7

    impl<T> Debug for OnceCell<T>
    where\n+ T: Debug,

    source\u00a7

    impl<T> Debug for Cell<T>
    where\n+ T: Copy + Debug,

    source\u00a7

    impl<T> Debug for Ref<'_, T>
    where\n+ T: Debug + ?Sized,

    source\u00a7

    impl<T> Debug for RefCell<T>
    where\n+ T: Debug + ?Sized,

    source\u00a7

    impl<T> Debug for RefMut<'_, T>
    where\n+ T: Debug + ?Sized,

    source\u00a7

    impl<T> Debug for SyncUnsafeCell<T>
    where\n+ T: ?Sized,

    1.9.0 \u00b7 source\u00a7

    impl<T> Debug for UnsafeCell<T>
    where\n+ T: ?Sized,

    1.19.0 \u00b7 source\u00a7

    impl<T> Debug for Reverse<T>
    where\n+ T: Debug,

    1.48.0 \u00b7 source\u00a7

    impl<T> Debug for Pending<T>

    1.48.0 \u00b7 source\u00a7

    impl<T> Debug for Ready<T>
    where\n+ T: Debug,

    source\u00a7

    impl<T> Debug for Rev<T>
    where\n+ T: Debug,

    1.9.0 \u00b7 source\u00a7

    impl<T> Debug for Empty<T>

    1.2.0 \u00b7 source\u00a7

    impl<T> Debug for Once<T>
    where\n+ T: Debug,

    source\u00a7

    impl<T> Debug for PhantomData<T>
    where\n+ T: ?Sized,

    1.20.0 \u00b7 source\u00a7

    impl<T> Debug for ManuallyDrop<T>
    where\n+ T: Debug + ?Sized,

    1.21.0 \u00b7 source\u00a7

    impl<T> Debug for Discriminant<T>

    1.28.0 \u00b7 source\u00a7

    impl<T> Debug for NonZero<T>
    where\n+ T: ZeroablePrimitive + Debug,

    1.74.0 \u00b7 source\u00a7

    impl<T> Debug for Saturating<T>
    where\n+ T: Debug,

    source\u00a7

    impl<T> Debug for Wrapping<T>
    where\n+ T: Debug,

    source\u00a7

    impl<T> Debug for Yeet<T>
    where\n+ T: Debug,

    1.16.0 \u00b7 source\u00a7

    impl<T> Debug for AssertUnwindSafe<T>
    where\n+ T: Debug,

    1.25.0 \u00b7 source\u00a7

    impl<T> Debug for NonNull<T>
    where\n+ T: ?Sized,

    source\u00a7

    impl<T> Debug for core::result::IntoIter<T>
    where\n+ T: Debug,

    1.3.0 \u00b7 source\u00a7

    impl<T> Debug for AtomicPtr<T>

    source\u00a7

    impl<T> Debug for Exclusive<T>
    where\n+ T: ?Sized,

    1.41.0 \u00b7 source\u00a7

    impl<T> Debug for MaybeUninit<T>

    source\u00a7

    impl<T, E> Debug for Result<T, E>
    where\n+ T: Debug,\n+ E: Debug,

    source\u00a7

    impl<T, F> Debug for LazyCell<T, F>
    where\n+ T: Debug,

    1.34.0 \u00b7 source\u00a7

    impl<T, F> Debug for Successors<T, F>
    where\n+ T: Debug,

    source\u00a7

    impl<T, F, A: Allocator + Clone> Debug for alloc::collections::btree_set::ExtractIf<'_, T, F, A>
    where\n+ T: Debug,\n+ F: FnMut(&T) -> bool,

    1.27.0 \u00b7 source\u00a7

    impl<T, P> Debug for alloc::slice::RSplit<'_, T, P>
    where\n+ T: Debug,\n+ P: FnMut(&T) -> bool,

    1.27.0 \u00b7 source\u00a7

    impl<T, P> Debug for RSplitMut<'_, T, P>
    where\n+ T: Debug,\n+ P: FnMut(&T) -> bool,

    1.9.0 \u00b7 source\u00a7

    impl<T, P> Debug for alloc::slice::RSplitN<'_, T, P>
    where\n+ T: Debug,\n+ P: FnMut(&T) -> bool,

    1.9.0 \u00b7 source\u00a7

    impl<T, P> Debug for RSplitNMut<'_, T, P>
    where\n+ T: Debug,\n+ P: FnMut(&T) -> bool,

    1.9.0 \u00b7 source\u00a7

    impl<T, P> Debug for alloc::slice::Split<'_, T, P>
    where\n+ T: Debug,\n+ P: FnMut(&T) -> bool,

    1.51.0 \u00b7 source\u00a7

    impl<T, P> Debug for alloc::slice::SplitInclusive<'_, T, P>
    where\n+ T: Debug,\n+ P: FnMut(&T) -> bool,

    1.51.0 \u00b7 source\u00a7

    impl<T, P> Debug for SplitInclusiveMut<'_, T, P>
    where\n+ T: Debug,\n+ P: FnMut(&T) -> bool,

    1.9.0 \u00b7 source\u00a7

    impl<T, P> Debug for SplitMut<'_, T, P>
    where\n+ T: Debug,\n+ P: FnMut(&T) -> bool,

    1.9.0 \u00b7 source\u00a7

    impl<T, P> Debug for alloc::slice::SplitN<'_, T, P>
    where\n+ T: Debug,\n+ P: FnMut(&T) -> bool,

    1.9.0 \u00b7 source\u00a7

    impl<T, P> Debug for SplitNMut<'_, T, P>
    where\n+ T: Debug,\n+ P: FnMut(&T) -> bool,

    source\u00a7

    impl<T, const N: usize> Debug for [T; N]
    where\n+ T: Debug,

    1.40.0 \u00b7 source\u00a7

    impl<T, const N: usize> Debug for core::array::iter::IntoIter<T, N>
    where\n+ T: Debug,

    source\u00a7

    impl<T, const N: usize> Debug for Mask<T, N>

    source\u00a7

    impl<T, const N: usize> Debug for Simd<T, N>

    1.17.0 \u00b7 source\u00a7

    impl<T: Ord + Debug, A: Allocator> Debug for PeekMut<'_, T, A>

    source\u00a7

    impl<T: Debug + ?Sized, A: Allocator> Debug for Box<T, A>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for alloc::collections::binary_heap::Iter<'_, T>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for alloc::collections::btree_set::Iter<'_, T>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for SymmetricDifference<'_, T>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for Union<'_, T>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for alloc::collections::linked_list::Iter<'_, T>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for alloc::collections::linked_list::IterMut<'_, T>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for alloc::collections::vec_deque::Iter<'_, T>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug> Debug for alloc::collections::vec_deque::IterMut<'_, T>

    source\u00a7

    impl<T: Debug> Debug for UniqueRc<T>

    source\u00a7

    impl<T: Debug, A: Allocator + Clone> Debug for BTreeSet<T, A>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator + Clone> Debug for Difference<'_, T, A>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator + Clone> Debug for Intersection<'_, T, A>

    1.4.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for BinaryHeap<T, A>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for alloc::collections::binary_heap::IntoIter<T, A>

    source\u00a7

    impl<T: Debug, A: Allocator> Debug for alloc::collections::linked_list::Cursor<'_, T, A>

    source\u00a7

    impl<T: Debug, A: Allocator> Debug for alloc::collections::linked_list::CursorMut<'_, T, A>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for alloc::collections::linked_list::IntoIter<T, A>

    source\u00a7

    impl<T: Debug, A: Allocator> Debug for LinkedList<T, A>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for alloc::collections::vec_deque::Drain<'_, T, A>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for alloc::collections::vec_deque::IntoIter<T, A>

    source\u00a7

    impl<T: Debug, A: Allocator> Debug for VecDeque<T, A>

    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for alloc::vec::Drain<'_, T, A>

    1.13.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for alloc::vec::IntoIter<T, A>

    source\u00a7

    impl<T: Debug, A: Allocator> Debug for Vec<T, A>

    source\u00a7

    impl<T: Debug, A: Debug + Allocator + Clone> Debug for alloc::collections::btree_set::IntoIter<T, A>

    source\u00a7

    impl<T: Debug, A: Debug + Allocator> Debug for IntoIterSorted<T, A>

    source\u00a7

    impl<T: Debug, F> Debug for alloc::collections::linked_list::ExtractIf<'_, T, F>
    where\n+ F: FnMut(&mut T) -> bool,

    source\u00a7

    impl<T: ?Sized + Debug> Debug for ThinBox<T>

    source\u00a7

    impl<T: ?Sized + Debug, A: Allocator> Debug for Rc<T, A>

    source\u00a7

    impl<T: ?Sized + Debug, A: Allocator> Debug for Arc<T, A>

    1.4.0 \u00b7 source\u00a7

    impl<T: ?Sized> Debug for alloc::sync::Weak<T>

    1.4.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Debug for alloc::rc::Weak<T, A>

    source\u00a7

    impl<Y, R> Debug for CoroutineState<Y, R>
    where\n Y: Debug,\n- R: Debug,

    source\u00a7

    impl<const N: usize> Debug for GetManyMutError<N>

    \n+ R: Debug,
    source\u00a7

    impl<const N: usize> Debug for GetManyMutError<N>

    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -121,14 +121,20 @@\n assert_eq!(format!(\"{position:#?}\"), \"(\n 1.987,\n 2.983,\n )\");\n Run\n ***** Implementors\u00c2\u00a7 *****\n source\u00c2\u00a7\n+**** impl Debug for TryReserveErrorKind ****\n+source\u00c2\u00a7\n+**** impl Debug for SearchStep ****\n+1.28.0 \u00c2\u00b7 source\u00c2\u00a7\n+**** impl Debug for alloc::fmt::Alignment ****\n+source\u00c2\u00a7\n **** impl Debug for AsciiChar ****\n source\u00c2\u00a7\n **** impl Debug for core::cmp::Ordering ****\n 1.34.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl Debug for Infallible ****\n 1.16.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl Debug for c_void ****\n@@ -141,20 +147,14 @@\n source\u00c2\u00a7\n **** impl Debug for FpCategory ****\n 1.55.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl Debug for IntErrorKind ****\n source\u00c2\u00a7\n **** impl Debug for core::sync::atomic::Ordering ****\n source\u00c2\u00a7\n-**** impl Debug for TryReserveErrorKind ****\n-source\u00c2\u00a7\n-**** impl Debug for SearchStep ****\n-1.28.0 \u00c2\u00b7 source\u00c2\u00a7\n-**** impl Debug for alloc::fmt::Alignment ****\n-source\u00c2\u00a7\n **** impl Debug for bool ****\n source\u00c2\u00a7\n **** impl Debug for char ****\n source\u00c2\u00a7\n **** impl Debug for f32 ****\n source\u00c2\u00a7\n **** impl Debug for f64 ****\n@@ -185,14 +185,52 @@\n source\u00c2\u00a7\n **** impl Debug for u128 ****\n source\u00c2\u00a7\n **** impl Debug for () ****\n source\u00c2\u00a7\n **** impl Debug for usize ****\n source\u00c2\u00a7\n+**** impl Debug for AllocError ****\n+source\u00c2\u00a7\n+**** impl Debug for Global ****\n+1.28.0 \u00c2\u00b7 source\u00c2\u00a7\n+**** impl Debug for Layout ****\n+1.50.0 \u00c2\u00b7 source\u00c2\u00a7\n+**** impl Debug for LayoutError ****\n+source\u00c2\u00a7\n+**** impl Debug for UnorderedKeyError ****\n+1.57.0 \u00c2\u00b7 source\u00c2\u00a7\n+**** impl Debug for TryReserveError ****\n+1.64.0 \u00c2\u00b7 source\u00c2\u00a7\n+**** impl Debug for FromVecWithNulError ****\n+1.64.0 \u00c2\u00b7 source\u00c2\u00a7\n+**** impl Debug for IntoStringError ****\n+1.64.0 \u00c2\u00b7 source\u00c2\u00a7\n+**** impl Debug for NulError ****\n+source\u00c2\u00a7\n+**** impl Debug for CString ****\n+1.38.0 \u00c2\u00b7 source\u00c2\u00a7\n+**** impl Debug for Chars<'_> ****\n+1.17.0 \u00c2\u00b7 source\u00c2\u00a7\n+**** impl Debug for EncodeUtf16<'_> ****\n+source\u00c2\u00a7\n+**** impl Debug for ParseBoolError ****\n+source\u00c2\u00a7\n+**** impl Debug for Utf8Chunks<'_> ****\n+source\u00c2\u00a7\n+**** impl Debug for Utf8Error ****\n+1.17.0 \u00c2\u00b7 source\u00c2\u00a7\n+**** impl Debug for alloc::string::Drain<'_> ****\n+source\u00c2\u00a7\n+**** impl Debug for FromUtf8Error ****\n+source\u00c2\u00a7\n+**** impl Debug for FromUtf16Error ****\n+source\u00c2\u00a7\n+**** impl Debug for String ****\n+source\u00c2\u00a7\n **** impl Debug for TypeId ****\n 1.34.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl Debug for TryFromSliceError ****\n 1.16.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl Debug for core::ascii::EscapeDefault ****\n 1.13.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl Debug for BorrowError ****\n@@ -311,75 +349,23 @@\n 1.36.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl Debug for Waker ****\n 1.27.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl Debug for Duration ****\n 1.66.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl Debug for TryFromFloatSecsError ****\n source\u00c2\u00a7\n-**** impl Debug for AllocError ****\n-source\u00c2\u00a7\n-**** impl Debug for Global ****\n-1.28.0 \u00c2\u00b7 source\u00c2\u00a7\n-**** impl Debug for Layout ****\n-1.50.0 \u00c2\u00b7 source\u00c2\u00a7\n-**** impl Debug for LayoutError ****\n-source\u00c2\u00a7\n-**** impl Debug for UnorderedKeyError ****\n-1.57.0 \u00c2\u00b7 source\u00c2\u00a7\n-**** impl Debug for TryReserveError ****\n-1.64.0 \u00c2\u00b7 source\u00c2\u00a7\n-**** impl Debug for FromVecWithNulError ****\n-1.64.0 \u00c2\u00b7 source\u00c2\u00a7\n-**** impl Debug for IntoStringError ****\n-1.64.0 \u00c2\u00b7 source\u00c2\u00a7\n-**** impl Debug for NulError ****\n-source\u00c2\u00a7\n-**** impl Debug for CString ****\n-1.38.0 \u00c2\u00b7 source\u00c2\u00a7\n-**** impl Debug for Chars<'_> ****\n-1.17.0 \u00c2\u00b7 source\u00c2\u00a7\n-**** impl Debug for EncodeUtf16<'_> ****\n-source\u00c2\u00a7\n-**** impl Debug for ParseBoolError ****\n-source\u00c2\u00a7\n-**** impl Debug for Utf8Chunks<'_> ****\n-source\u00c2\u00a7\n-**** impl Debug for Utf8Error ****\n-1.17.0 \u00c2\u00b7 source\u00c2\u00a7\n-**** impl Debug for alloc::string::Drain<'_> ****\n-source\u00c2\u00a7\n-**** impl Debug for FromUtf8Error ****\n-source\u00c2\u00a7\n-**** impl Debug for FromUtf16Error ****\n-source\u00c2\u00a7\n-**** impl Debug for String ****\n-source\u00c2\u00a7\n **** impl Debug for Arguments<'_> ****\n source\u00c2\u00a7\n **** impl Debug for Error ****\n source\u00c2\u00a7\n **** impl Debug for dyn Any ****\n source\u00c2\u00a7\n **** impl Debug for dyn Any + Send ****\n 1.28.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl Debug for dyn Any + Sync + Send ****\n-source\u00c2\u00a7\n-**** impl<'a> Debug for Request<'a> ****\n-source\u00c2\u00a7\n-**** impl<'a> Debug for Source<'a> ****\n-source\u00c2\u00a7\n-**** impl<'a> Debug for core::ffi::c_str::Bytes<'a> ****\n-source\u00c2\u00a7\n-**** impl<'a> Debug for BorrowedCursor<'a> ****\n-1.10.0 \u00c2\u00b7 source\u00c2\u00a7\n-**** impl<'a> Debug for Location<'a> ****\n-1.10.0 \u00c2\u00b7 source\u00c2\u00a7\n-**** impl<'a> Debug for PanicInfo<'a> ****\n-source\u00c2\u00a7\n-**** impl<'a> Debug for ContextBuilder<'a> ****\n 1.60.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl<'a> Debug for EscapeAscii<'a> ****\n source\u00c2\u00a7\n **** impl<'a> Debug for CharSearcher<'a> ****\n source\u00c2\u00a7\n **** impl<'a> Debug for alloc::str::Bytes<'a> ****\n source\u00c2\u00a7\n@@ -397,14 +383,28 @@\n 1.34.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl<'a> Debug for SplitAsciiWhitespace<'a> ****\n 1.1.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl<'a> Debug for SplitWhitespace<'a> ****\n source\u00c2\u00a7\n **** impl<'a> Debug for Utf8Chunk<'a> ****\n source\u00c2\u00a7\n+**** impl<'a> Debug for Request<'a> ****\n+source\u00c2\u00a7\n+**** impl<'a> Debug for Source<'a> ****\n+source\u00c2\u00a7\n+**** impl<'a> Debug for core::ffi::c_str::Bytes<'a> ****\n+source\u00c2\u00a7\n+**** impl<'a> Debug for BorrowedCursor<'a> ****\n+1.10.0 \u00c2\u00b7 source\u00c2\u00a7\n+**** impl<'a> Debug for Location<'a> ****\n+1.10.0 \u00c2\u00b7 source\u00c2\u00a7\n+**** impl<'a> Debug for PanicInfo<'a> ****\n+source\u00c2\u00a7\n+**** impl<'a> Debug for ContextBuilder<'a> ****\n+source\u00c2\u00a7\n **** impl<'a, 'b> Debug for CharSliceSearcher<'a, 'b> ****\n source\u00c2\u00a7\n **** impl<'a, 'b> Debug for StrSearcher<'a, 'b> ****\n source\u00c2\u00a7\n **** impl<'a, 'b, const N: usize> Debug for CharArrayRefSearcher<'a, 'b, N>\n ****\n source\u00c2\u00a7\n@@ -453,20 +453,14 @@\n source\u00c2\u00a7\n impl<'a, P> Debug for alloc::str::SplitN<'a, P>\n where P: Pattern<'a>,

    >::Searcher: Debug,\n source\u00c2\u00a7\n impl<'a, P> Debug for SplitTerminator<'a, P>\n where P: Pattern<'a>,

    >::Searcher: Debug,\n source\u00c2\u00a7\n-impl<'a, T> Debug for core::result::Iter<'a, T>\n-where T: Debug + 'a,\n-source\u00c2\u00a7\n-impl<'a, T> Debug for core::result::IterMut<'a, T>\n-where T: Debug + 'a,\n-source\u00c2\u00a7\n impl<'a, T> Debug for Chunks<'a, T>\n where T: Debug + 'a,\n 1.31.0 \u00c2\u00b7 source\u00c2\u00a7\n impl<'a, T> Debug for ChunksExact<'a, T>\n where T: Debug + 'a,\n 1.31.0 \u00c2\u00b7 source\u00c2\u00a7\n impl<'a, T> Debug for ChunksExactMut<'a, T>\n@@ -485,14 +479,20 @@\n where T: Debug + 'a,\n 1.31.0 \u00c2\u00b7 source\u00c2\u00a7\n impl<'a, T> Debug for RChunksMut<'a, T>\n where T: Debug + 'a,\n source\u00c2\u00a7\n impl<'a, T> Debug for Windows<'a, T>\n where T: Debug + 'a,\n+source\u00c2\u00a7\n+impl<'a, T> Debug for core::result::Iter<'a, T>\n+where T: Debug + 'a,\n+source\u00c2\u00a7\n+impl<'a, T> Debug for core::result::IterMut<'a, T>\n+where T: Debug + 'a,\n 1.77.0 \u00c2\u00b7 source\u00c2\u00a7\n impl<'a, T, P> Debug for ChunkBy<'a, T, P>\n where T: 'a + Debug,\n 1.77.0 \u00c2\u00b7 source\u00c2\u00a7\n impl<'a, T, P> Debug for ChunkByMut<'a, T, P>\n where T: 'a + Debug,\n source\u00c2\u00a7\n@@ -541,26 +541,26 @@\n where B: Debug + ToOwned + ?Sized,\n 1.55.0 \u00c2\u00b7 source\u00c2\u00a7\n impl Debug for ControlFlow\n where B: Debug, C: Debug,\n source\u00c2\u00a7\n impl Debug for DynMetadata\n where Dyn: ?Sized,\n+source\u00c2\u00a7\n+impl Debug for CharPredicateSearcher<'_, F>\n+where F: FnMut(char) -> bool,\n 1.64.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl Debug for PollFn ****\n 1.34.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl Debug for FromFn ****\n 1.68.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl Debug for OnceWith ****\n 1.68.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl Debug for RepeatWith ****\n source\u00c2\u00a7\n-impl Debug for CharPredicateSearcher<'_, F>\n-where F: FnMut(char) -> bool,\n-source\u00c2\u00a7\n impl Debug for FormatterFn\n where F: Fn(&mut Formatter<'_>) -> Result<(), Error>,\n 1.4.0 \u00c2\u00b7 source\u00c2\u00a7\n impl Debug for F\n where F: FnPtr,\n 1.9.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl Debug for BuildHasherDefault ****\n@@ -733,14 +733,20 @@\n source\u00c2\u00a7\n impl Debug for [T]\n where T: Debug,\n source\u00c2\u00a7\n impl Debug for (T\u00e2\u0082\u0081,_T\u00e2\u0082\u0082,_\u00e2\u0080\u00a6,_T\u00e2\u0082\u0099)\n where T: Debug + ?Sized,\n This trait is implemented for tuples up to twelve items long.\n+1.9.0 \u00c2\u00b7 source\u00c2\u00a7\n+impl Debug for alloc::slice::Iter<'_, T>\n+where T: Debug,\n+1.9.0 \u00c2\u00b7 source\u00c2\u00a7\n+impl Debug for alloc::slice::IterMut<'_, T>\n+where T: Debug,\n 1.70.0 \u00c2\u00b7 source\u00c2\u00a7\n impl Debug for OnceCell\n where T: Debug,\n source\u00c2\u00a7\n impl Debug for Cell\n where T: Copy + Debug,\n source\u00c2\u00a7\n@@ -804,20 +810,14 @@\n impl Debug for core::result::IntoIter\n where T: Debug,\n 1.3.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl Debug for AtomicPtr ****\n source\u00c2\u00a7\n impl Debug for Exclusive\n where T: ?Sized,\n-1.9.0 \u00c2\u00b7 source\u00c2\u00a7\n-impl Debug for alloc::slice::Iter<'_, T>\n-where T: Debug,\n-1.9.0 \u00c2\u00b7 source\u00c2\u00a7\n-impl Debug for alloc::slice::IterMut<'_, T>\n-where T: Debug,\n 1.41.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl Debug for MaybeUninit ****\n source\u00c2\u00a7\n impl Debug for Result\n where T: Debug, E: Debug,\n source\u00c2\u00a7\n impl Debug for LazyCell\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.Display.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.Display.html", "unified_diff": "@@ -1,11 +1,11 @@\n Display in alloc::fmt - Rust

    \n-

    Trait alloc::fmt::Display

    1.0.0 \u00b7 source \u00b7
    pub trait Display {\n+    

    Trait alloc::fmt::Display

    1.0.0 \u00b7 source \u00b7
    pub trait Display {\n     // Required method\n-    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;\n+    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;\n }
    Expand description

    Format trait for an empty format, {}.

    \n

    Implementing this trait for a type will automatically implement the\n ToString trait for the type, allowing the usage\n of the .to_string() method. Prefer implementing\n the Display trait for a type, rather than ToString.

    \n

    Display is similar to Debug, but Display is for user-facing\n output, and so cannot be derived.

    \n@@ -15,15 +15,15 @@\n to only implement Display when there is a single most \u201cobvious\u201d way that\n values can be formatted as text. This could mean formatting according to the\n \u201cinvariant\u201d culture and \u201cundefined\u201d locale, or it could mean that the type\n display is designed for a specific culture/locale, such as developer logs.

    \n

    If not all values have a justifiably canonical textual format or if you want\n to support alternative formats not covered by the standard set of possible\n formatting traits, the most flexible approach is display adapters: methods\n-like str::escape_default or Path::display which create a wrapper\n+like str::escape_default or Path::display which create a wrapper\n implementing Display to output the specific display format.

    \n

    \u00a7Examples

    \n

    Implementing Display on a type:

    \n \n
    use std::fmt;\n \n struct Point {\n@@ -36,15 +36,15 @@\n         write!(f, \"({}, {})\", self.x, self.y)\n     }\n }\n \n let origin = Point { x: 0, y: 0 };\n \n assert_eq!(format!(\"The origin is: {origin}\"), \"The origin is: (0, 0)\");
    Run
    \n-

    Required Methods\u00a7

    source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n+

    Required Methods\u00a7

    source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n
    \u00a7Examples
    \n
    use std::fmt;\n \n struct Position {\n     longitude: f32,\n     latitude: f32,\n }\n@@ -53,20 +53,20 @@\n     fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {\n         write!(f, \"({}, {})\", self.longitude, self.latitude)\n     }\n }\n \n assert_eq!(\"(1.987, 2.983)\",\n            format!(\"{}\", Position { longitude: 1.987, latitude: 2.983, }));
    Run
    \n-

    Implementors\u00a7

    source\u00a7

    impl Display for AsciiChar

    1.34.0 \u00b7 source\u00a7

    impl Display for Infallible

    1.7.0 \u00b7 source\u00a7

    impl Display for IpAddr

    source\u00a7

    impl Display for SocketAddr

    source\u00a7

    impl Display for bool

    source\u00a7

    impl Display for char

    source\u00a7

    impl Display for f32

    source\u00a7

    impl Display for f64

    source\u00a7

    impl Display for i8

    source\u00a7

    impl Display for i16

    source\u00a7

    impl Display for i32

    source\u00a7

    impl Display for i64

    source\u00a7

    impl Display for i128

    source\u00a7

    impl Display for isize

    source\u00a7

    impl Display for !

    source\u00a7

    impl Display for str

    source\u00a7

    impl Display for u8

    source\u00a7

    impl Display for u16

    source\u00a7

    impl Display for u32

    source\u00a7

    impl Display for u64

    source\u00a7

    impl Display for u128

    source\u00a7

    impl Display for usize

    1.36.0 \u00b7 source\u00a7

    impl Display for TryFromSliceError

    1.39.0 \u00b7 source\u00a7

    impl Display for core::ascii::EscapeDefault

    1.13.0 \u00b7 source\u00a7

    impl Display for BorrowError

    1.13.0 \u00b7 source\u00a7

    impl Display for BorrowMutError

    1.34.0 \u00b7 source\u00a7

    impl Display for CharTryFromError

    1.20.0 \u00b7 source\u00a7

    impl Display for ParseCharError

    1.9.0 \u00b7 source\u00a7

    impl Display for DecodeUtf16Error

    1.20.0 \u00b7 source\u00a7

    impl Display for core::char::EscapeDebug

    1.16.0 \u00b7 source\u00a7

    impl Display for core::char::EscapeDefault

    1.16.0 \u00b7 source\u00a7

    impl Display for core::char::EscapeUnicode

    1.16.0 \u00b7 source\u00a7

    impl Display for ToLowercase

    1.16.0 \u00b7 source\u00a7

    impl Display for ToUppercase

    1.59.0 \u00b7 source\u00a7

    impl Display for TryFromCharError

    1.69.0 \u00b7 source\u00a7

    impl Display for FromBytesUntilNulError

    1.17.0 \u00b7 source\u00a7

    impl Display for FromBytesWithNulError

    source\u00a7

    impl Display for Ipv4Addr

    source\u00a7

    impl Display for Ipv6Addr

    Write an Ipv6Addr, conforming to the canonical style described by\n+

    Implementors\u00a7

    source\u00a7

    impl Display for AsciiChar

    1.34.0 \u00b7 source\u00a7

    impl Display for Infallible

    1.7.0 \u00b7 source\u00a7

    impl Display for IpAddr

    source\u00a7

    impl Display for SocketAddr

    source\u00a7

    impl Display for bool

    source\u00a7

    impl Display for char

    source\u00a7

    impl Display for f32

    source\u00a7

    impl Display for f64

    source\u00a7

    impl Display for i8

    source\u00a7

    impl Display for i16

    source\u00a7

    impl Display for i32

    source\u00a7

    impl Display for i64

    source\u00a7

    impl Display for i128

    source\u00a7

    impl Display for isize

    source\u00a7

    impl Display for !

    source\u00a7

    impl Display for str

    source\u00a7

    impl Display for u8

    source\u00a7

    impl Display for u16

    source\u00a7

    impl Display for u32

    source\u00a7

    impl Display for u64

    source\u00a7

    impl Display for u128

    source\u00a7

    impl Display for usize

    source\u00a7

    impl Display for AllocError

    1.28.0 \u00b7 source\u00a7

    impl Display for LayoutError

    source\u00a7

    impl Display for UnorderedKeyError

    1.57.0 \u00b7 source\u00a7

    impl Display for TryReserveError

    1.58.0 \u00b7 source\u00a7

    impl Display for FromVecWithNulError

    1.7.0 \u00b7 source\u00a7

    impl Display for IntoStringError

    source\u00a7

    impl Display for NulError

    source\u00a7

    impl Display for ParseBoolError

    source\u00a7

    impl Display for Utf8Error

    source\u00a7

    impl Display for FromUtf8Error

    source\u00a7

    impl Display for FromUtf16Error

    source\u00a7

    impl Display for String

    1.36.0 \u00b7 source\u00a7

    impl Display for TryFromSliceError

    1.39.0 \u00b7 source\u00a7

    impl Display for core::ascii::EscapeDefault

    1.13.0 \u00b7 source\u00a7

    impl Display for BorrowError

    1.13.0 \u00b7 source\u00a7

    impl Display for BorrowMutError

    1.34.0 \u00b7 source\u00a7

    impl Display for CharTryFromError

    1.20.0 \u00b7 source\u00a7

    impl Display for ParseCharError

    1.9.0 \u00b7 source\u00a7

    impl Display for DecodeUtf16Error

    1.20.0 \u00b7 source\u00a7

    impl Display for core::char::EscapeDebug

    1.16.0 \u00b7 source\u00a7

    impl Display for core::char::EscapeDefault

    1.16.0 \u00b7 source\u00a7

    impl Display for core::char::EscapeUnicode

    1.16.0 \u00b7 source\u00a7

    impl Display for ToLowercase

    1.16.0 \u00b7 source\u00a7

    impl Display for ToUppercase

    1.59.0 \u00b7 source\u00a7

    impl Display for TryFromCharError

    1.69.0 \u00b7 source\u00a7

    impl Display for FromBytesUntilNulError

    1.17.0 \u00b7 source\u00a7

    impl Display for FromBytesWithNulError

    source\u00a7

    impl Display for Ipv4Addr

    source\u00a7

    impl Display for Ipv6Addr

    Write an Ipv6Addr, conforming to the canonical style described by\n RFC 5952.

    \n-
    1.4.0 \u00b7 source\u00a7

    impl Display for AddrParseError

    source\u00a7

    impl Display for SocketAddrV4

    source\u00a7

    impl Display for SocketAddrV6

    source\u00a7

    impl Display for ParseFloatError

    source\u00a7

    impl Display for ParseIntError

    1.34.0 \u00b7 source\u00a7

    impl Display for TryFromIntError

    1.26.0 \u00b7 source\u00a7

    impl Display for Location<'_>

    1.26.0 \u00b7 source\u00a7

    impl Display for PanicInfo<'_>

    1.66.0 \u00b7 source\u00a7

    impl Display for TryFromFloatSecsError

    source\u00a7

    impl Display for AllocError

    1.28.0 \u00b7 source\u00a7

    impl Display for LayoutError

    source\u00a7

    impl Display for UnorderedKeyError

    1.57.0 \u00b7 source\u00a7

    impl Display for TryReserveError

    1.58.0 \u00b7 source\u00a7

    impl Display for FromVecWithNulError

    1.7.0 \u00b7 source\u00a7

    impl Display for IntoStringError

    source\u00a7

    impl Display for NulError

    source\u00a7

    impl Display for ParseBoolError

    source\u00a7

    impl Display for Utf8Error

    source\u00a7

    impl Display for FromUtf8Error

    source\u00a7

    impl Display for FromUtf16Error

    source\u00a7

    impl Display for String

    source\u00a7

    impl Display for Arguments<'_>

    source\u00a7

    impl Display for Error

    1.60.0 \u00b7 source\u00a7

    impl<'a> Display for EscapeAscii<'a>

    1.34.0 \u00b7 source\u00a7

    impl<'a> Display for alloc::str::EscapeDebug<'a>

    1.34.0 \u00b7 source\u00a7

    impl<'a> Display for alloc::str::EscapeDefault<'a>

    1.34.0 \u00b7 source\u00a7

    impl<'a> Display for alloc::str::EscapeUnicode<'a>

    source\u00a7

    impl<'a, K: Debug + Ord, V: Debug, A: Allocator + Clone> Display for OccupiedError<'a, K, V, A>

    source\u00a7

    impl<B> Display for Cow<'_, B>
    where\n- B: Display + ToOwned<Owned: Display> + ?Sized,

    source\u00a7

    impl<F> Display for FormatterFn<F>
    where\n- F: Fn(&mut Formatter<'_>) -> Result<(), Error>,

    1.33.0 \u00b7 source\u00a7

    impl<Ptr> Display for Pin<Ptr>
    where\n- Ptr: Display,

    source\u00a7

    impl<T> Display for &T
    where\n- T: Display + ?Sized,

    source\u00a7

    impl<T> Display for &mut T
    where\n- T: Display + ?Sized,

    1.20.0 \u00b7 source\u00a7

    impl<T> Display for Ref<'_, T>
    where\n- T: Display + ?Sized,

    1.20.0 \u00b7 source\u00a7

    impl<T> Display for RefMut<'_, T>
    where\n- T: Display + ?Sized,

    1.28.0 \u00b7 source\u00a7

    impl<T> Display for NonZero<T>
    where\n- T: ZeroablePrimitive + Display,

    1.74.0 \u00b7 source\u00a7

    impl<T> Display for Saturating<T>
    where\n- T: Display,

    1.10.0 \u00b7 source\u00a7

    impl<T> Display for Wrapping<T>
    where\n- T: Display,

    source\u00a7

    impl<T: Display + ?Sized, A: Allocator> Display for Box<T, A>

    source\u00a7

    impl<T: ?Sized + Display> Display for ThinBox<T>

    source\u00a7

    impl<T: ?Sized + Display, A: Allocator> Display for Rc<T, A>

    source\u00a7

    impl<T: ?Sized + Display, A: Allocator> Display for Arc<T, A>

    source\u00a7

    impl<const N: usize> Display for GetManyMutError<N>

    \n+
    1.4.0 \u00b7 source\u00a7

    impl Display for AddrParseError

    source\u00a7

    impl Display for SocketAddrV4

    source\u00a7

    impl Display for SocketAddrV6

    source\u00a7

    impl Display for ParseFloatError

    source\u00a7

    impl Display for ParseIntError

    1.34.0 \u00b7 source\u00a7

    impl Display for TryFromIntError

    1.26.0 \u00b7 source\u00a7

    impl Display for Location<'_>

    1.26.0 \u00b7 source\u00a7

    impl Display for PanicInfo<'_>

    1.66.0 \u00b7 source\u00a7

    impl Display for TryFromFloatSecsError

    source\u00a7

    impl Display for Arguments<'_>

    source\u00a7

    impl Display for Error

    1.60.0 \u00b7 source\u00a7

    impl<'a> Display for EscapeAscii<'a>

    1.34.0 \u00b7 source\u00a7

    impl<'a> Display for alloc::str::EscapeDebug<'a>

    1.34.0 \u00b7 source\u00a7

    impl<'a> Display for alloc::str::EscapeDefault<'a>

    1.34.0 \u00b7 source\u00a7

    impl<'a> Display for alloc::str::EscapeUnicode<'a>

    source\u00a7

    impl<'a, K: Debug + Ord, V: Debug, A: Allocator + Clone> Display for OccupiedError<'a, K, V, A>

    source\u00a7

    impl<B> Display for Cow<'_, B>
    where\n+ B: Display + ToOwned<Owned: Display> + ?Sized,

    source\u00a7

    impl<F> Display for FormatterFn<F>
    where\n+ F: Fn(&mut Formatter<'_>) -> Result<(), Error>,

    1.33.0 \u00b7 source\u00a7

    impl<Ptr> Display for Pin<Ptr>
    where\n+ Ptr: Display,

    source\u00a7

    impl<T> Display for &T
    where\n+ T: Display + ?Sized,

    source\u00a7

    impl<T> Display for &mut T
    where\n+ T: Display + ?Sized,

    1.20.0 \u00b7 source\u00a7

    impl<T> Display for Ref<'_, T>
    where\n+ T: Display + ?Sized,

    1.20.0 \u00b7 source\u00a7

    impl<T> Display for RefMut<'_, T>
    where\n+ T: Display + ?Sized,

    1.28.0 \u00b7 source\u00a7

    impl<T> Display for NonZero<T>
    where\n+ T: ZeroablePrimitive + Display,

    1.74.0 \u00b7 source\u00a7

    impl<T> Display for Saturating<T>
    where\n+ T: Display,

    1.10.0 \u00b7 source\u00a7

    impl<T> Display for Wrapping<T>
    where\n+ T: Display,

    source\u00a7

    impl<T: Display + ?Sized, A: Allocator> Display for Box<T, A>

    source\u00a7

    impl<T: ?Sized + Display> Display for ThinBox<T>

    source\u00a7

    impl<T: ?Sized + Display, A: Allocator> Display for Rc<T, A>

    source\u00a7

    impl<T: ?Sized + Display, A: Allocator> Display for Arc<T, A>

    source\u00a7

    impl<const N: usize> Display for GetManyMutError<N>

    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -114,14 +114,38 @@\n **** impl Display for u32 ****\n source\u00c2\u00a7\n **** impl Display for u64 ****\n source\u00c2\u00a7\n **** impl Display for u128 ****\n source\u00c2\u00a7\n **** impl Display for usize ****\n+source\u00c2\u00a7\n+**** impl Display for AllocError ****\n+1.28.0 \u00c2\u00b7 source\u00c2\u00a7\n+**** impl Display for LayoutError ****\n+source\u00c2\u00a7\n+**** impl Display for UnorderedKeyError ****\n+1.57.0 \u00c2\u00b7 source\u00c2\u00a7\n+**** impl Display for TryReserveError ****\n+1.58.0 \u00c2\u00b7 source\u00c2\u00a7\n+**** impl Display for FromVecWithNulError ****\n+1.7.0 \u00c2\u00b7 source\u00c2\u00a7\n+**** impl Display for IntoStringError ****\n+source\u00c2\u00a7\n+**** impl Display for NulError ****\n+source\u00c2\u00a7\n+**** impl Display for ParseBoolError ****\n+source\u00c2\u00a7\n+**** impl Display for Utf8Error ****\n+source\u00c2\u00a7\n+**** impl Display for FromUtf8Error ****\n+source\u00c2\u00a7\n+**** impl Display for FromUtf16Error ****\n+source\u00c2\u00a7\n+**** impl Display for String ****\n 1.36.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl Display for TryFromSliceError ****\n 1.39.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl Display for core::ascii::EscapeDefault ****\n 1.13.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl Display for BorrowError ****\n 1.13.0 \u00c2\u00b7 source\u00c2\u00a7\n@@ -168,38 +192,14 @@\n 1.26.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl Display for Location<'_> ****\n 1.26.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl Display for PanicInfo<'_> ****\n 1.66.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl Display for TryFromFloatSecsError ****\n source\u00c2\u00a7\n-**** impl Display for AllocError ****\n-1.28.0 \u00c2\u00b7 source\u00c2\u00a7\n-**** impl Display for LayoutError ****\n-source\u00c2\u00a7\n-**** impl Display for UnorderedKeyError ****\n-1.57.0 \u00c2\u00b7 source\u00c2\u00a7\n-**** impl Display for TryReserveError ****\n-1.58.0 \u00c2\u00b7 source\u00c2\u00a7\n-**** impl Display for FromVecWithNulError ****\n-1.7.0 \u00c2\u00b7 source\u00c2\u00a7\n-**** impl Display for IntoStringError ****\n-source\u00c2\u00a7\n-**** impl Display for NulError ****\n-source\u00c2\u00a7\n-**** impl Display for ParseBoolError ****\n-source\u00c2\u00a7\n-**** impl Display for Utf8Error ****\n-source\u00c2\u00a7\n-**** impl Display for FromUtf8Error ****\n-source\u00c2\u00a7\n-**** impl Display for FromUtf16Error ****\n-source\u00c2\u00a7\n-**** impl Display for String ****\n-source\u00c2\u00a7\n **** impl Display for Arguments<'_> ****\n source\u00c2\u00a7\n **** impl Display for Error ****\n 1.60.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl<'a> Display for EscapeAscii<'a> ****\n 1.34.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl<'a> Display for alloc::str::EscapeDebug<'a> ****\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.LowerExp.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.LowerExp.html", "unified_diff": "@@ -1,11 +1,11 @@\n LowerExp in alloc::fmt - Rust
    \n-

    Trait alloc::fmt::LowerExp

    1.0.0 \u00b7 source \u00b7
    pub trait LowerExp {\n+    

    Trait alloc::fmt::LowerExp

    1.0.0 \u00b7 source \u00b7
    pub trait LowerExp {\n     // Required method\n-    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;\n+    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;\n }
    Expand description

    e formatting.

    \n

    The LowerExp trait should format its output in scientific notation with a lower-case e.

    \n

    For more information on formatters, see the module-level documentation.

    \n

    \u00a7Examples

    \n

    Basic usage with f64:

    \n \n
    let x = 42.0; // 42.0 is '4.2e1' in scientific notation\n@@ -31,11 +31,11 @@\n     \"l in scientific notation is: 1e2\"\n );\n \n assert_eq!(\n     format!(\"l in scientific notation is: {l:05e}\"),\n     \"l in scientific notation is: 001e2\"\n );
    Run
    \n-

    Required Methods\u00a7

    source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n-

    Implementors\u00a7

    source\u00a7

    impl LowerExp for f32

    source\u00a7

    impl LowerExp for f64

    1.42.0 \u00b7 source\u00a7

    impl LowerExp for i8

    1.42.0 \u00b7 source\u00a7

    impl LowerExp for i16

    1.42.0 \u00b7 source\u00a7

    impl LowerExp for i32

    1.42.0 \u00b7 source\u00a7

    impl LowerExp for i64

    1.42.0 \u00b7 source\u00a7

    impl LowerExp for i128

    1.42.0 \u00b7 source\u00a7

    impl LowerExp for isize

    1.42.0 \u00b7 source\u00a7

    impl LowerExp for u8

    1.42.0 \u00b7 source\u00a7

    impl LowerExp for u16

    1.42.0 \u00b7 source\u00a7

    impl LowerExp for u32

    1.42.0 \u00b7 source\u00a7

    impl LowerExp for u64

    1.42.0 \u00b7 source\u00a7

    impl LowerExp for u128

    1.42.0 \u00b7 source\u00a7

    impl LowerExp for usize

    source\u00a7

    impl<T> LowerExp for &T
    where\n- T: LowerExp + ?Sized,

    source\u00a7

    impl<T> LowerExp for &mut T
    where\n- T: LowerExp + ?Sized,

    \n+

    Required Methods\u00a7

    source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n+

    Implementors\u00a7

    source\u00a7

    impl LowerExp for f32

    source\u00a7

    impl LowerExp for f64

    1.42.0 \u00b7 source\u00a7

    impl LowerExp for i8

    1.42.0 \u00b7 source\u00a7

    impl LowerExp for i16

    1.42.0 \u00b7 source\u00a7

    impl LowerExp for i32

    1.42.0 \u00b7 source\u00a7

    impl LowerExp for i64

    1.42.0 \u00b7 source\u00a7

    impl LowerExp for i128

    1.42.0 \u00b7 source\u00a7

    impl LowerExp for isize

    1.42.0 \u00b7 source\u00a7

    impl LowerExp for u8

    1.42.0 \u00b7 source\u00a7

    impl LowerExp for u16

    1.42.0 \u00b7 source\u00a7

    impl LowerExp for u32

    1.42.0 \u00b7 source\u00a7

    impl LowerExp for u64

    1.42.0 \u00b7 source\u00a7

    impl LowerExp for u128

    1.42.0 \u00b7 source\u00a7

    impl LowerExp for usize

    source\u00a7

    impl<T> LowerExp for &T
    where\n+ T: LowerExp + ?Sized,

    source\u00a7

    impl<T> LowerExp for &mut T
    where\n+ T: LowerExp + ?Sized,

    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.LowerHex.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.LowerHex.html", "unified_diff": "@@ -1,11 +1,11 @@\n LowerHex in alloc::fmt - Rust
    \n-

    Trait alloc::fmt::LowerHex

    1.0.0 \u00b7 source \u00b7
    pub trait LowerHex {\n+    

    Trait alloc::fmt::LowerHex

    1.0.0 \u00b7 source \u00b7
    pub trait LowerHex {\n     // Required method\n-    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;\n+    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;\n }
    Expand description

    x formatting.

    \n

    The LowerHex trait should format its output as a number in hexadecimal, with a through f\n in lower case.

    \n

    For primitive signed integers (i8 to i128, and isize),\n negative values are formatted as the two\u2019s complement representation.

    \n

    The alternate flag, #, adds a 0x in front of the output.

    \n

    For more information on formatters, see the module-level documentation.

    \n@@ -33,14 +33,14 @@\n }\n \n let l = Length(9);\n \n assert_eq!(format!(\"l as hex is: {l:x}\"), \"l as hex is: 9\");\n \n assert_eq!(format!(\"l as hex is: {l:#010x}\"), \"l as hex is: 0x00000009\");
    Run
    \n-

    Required Methods\u00a7

    source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n-

    Implementors\u00a7

    source\u00a7

    impl LowerHex for i8

    source\u00a7

    impl LowerHex for i16

    source\u00a7

    impl LowerHex for i32

    source\u00a7

    impl LowerHex for i64

    source\u00a7

    impl LowerHex for i128

    source\u00a7

    impl LowerHex for isize

    source\u00a7

    impl LowerHex for u8

    source\u00a7

    impl LowerHex for u16

    source\u00a7

    impl LowerHex for u32

    source\u00a7

    impl LowerHex for u64

    source\u00a7

    impl LowerHex for u128

    source\u00a7

    impl LowerHex for usize

    source\u00a7

    impl<T> LowerHex for &T
    where\n- T: LowerHex + ?Sized,

    source\u00a7

    impl<T> LowerHex for &mut T
    where\n- T: LowerHex + ?Sized,

    1.28.0 \u00b7 source\u00a7

    impl<T> LowerHex for NonZero<T>

    1.74.0 \u00b7 source\u00a7

    impl<T> LowerHex for Saturating<T>
    where\n- T: LowerHex,

    1.11.0 \u00b7 source\u00a7

    impl<T> LowerHex for Wrapping<T>
    where\n+

    Required Methods\u00a7

    source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n+

    Implementors\u00a7

    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.Octal.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.Octal.html", "unified_diff": "@@ -1,11 +1,11 @@\n Octal in alloc::fmt - Rust
    \n-

    Trait alloc::fmt::Octal

    1.0.0 \u00b7 source \u00b7
    pub trait Octal {\n+    

    Trait alloc::fmt::Octal

    1.0.0 \u00b7 source \u00b7
    pub trait Octal {\n     // Required method\n-    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;\n+    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;\n }
    Expand description

    o formatting.

    \n

    The Octal trait should format its output as a number in base-8.

    \n

    For primitive signed integers (i8 to i128, and isize),\n negative values are formatted as the two\u2019s complement representation.

    \n

    The alternate flag, #, adds a 0o in front of the output.

    \n

    For more information on formatters, see the module-level documentation.

    \n

    \u00a7Examples

    \n@@ -32,14 +32,14 @@\n }\n \n let l = Length(9);\n \n assert_eq!(format!(\"l as octal is: {l:o}\"), \"l as octal is: 11\");\n \n assert_eq!(format!(\"l as octal is: {l:#06o}\"), \"l as octal is: 0o0011\");
    Run
    \n-

    Required Methods\u00a7

    source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n-

    Implementors\u00a7

    source\u00a7

    impl Octal for i8

    source\u00a7

    impl Octal for i16

    source\u00a7

    impl Octal for i32

    source\u00a7

    impl Octal for i64

    source\u00a7

    impl Octal for i128

    source\u00a7

    impl Octal for isize

    source\u00a7

    impl Octal for u8

    source\u00a7

    impl Octal for u16

    source\u00a7

    impl Octal for u32

    source\u00a7

    impl Octal for u64

    source\u00a7

    impl Octal for u128

    source\u00a7

    impl Octal for usize

    source\u00a7

    impl<T> Octal for &T
    where\n- T: Octal + ?Sized,

    source\u00a7

    impl<T> Octal for &mut T
    where\n- T: Octal + ?Sized,

    1.28.0 \u00b7 source\u00a7

    impl<T> Octal for NonZero<T>
    where\n- T: ZeroablePrimitive + Octal,

    1.74.0 \u00b7 source\u00a7

    impl<T> Octal for Saturating<T>
    where\n- T: Octal,

    1.11.0 \u00b7 source\u00a7

    impl<T> Octal for Wrapping<T>
    where\n+

    Required Methods\u00a7

    source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n+

    Implementors\u00a7

    source\u00a7

    impl Octal for i8

    source\u00a7

    impl Octal for i16

    source\u00a7

    impl Octal for i32

    source\u00a7

    impl Octal for i64

    source\u00a7

    impl Octal for i128

    source\u00a7

    impl Octal for isize

    source\u00a7

    impl Octal for u8

    source\u00a7

    impl Octal for u16

    source\u00a7

    impl Octal for u32

    source\u00a7

    impl Octal for u64

    source\u00a7

    impl Octal for u128

    source\u00a7

    impl Octal for usize

    source\u00a7

    impl<T> Octal for &T
    where\n+ T: Octal + ?Sized,

    source\u00a7

    impl<T> Octal for &mut T
    where\n+ T: Octal + ?Sized,

    1.28.0 \u00b7 source\u00a7

    impl<T> Octal for NonZero<T>
    where\n+ T: ZeroablePrimitive + Octal,

    1.74.0 \u00b7 source\u00a7

    impl<T> Octal for Saturating<T>
    where\n+ T: Octal,

    1.11.0 \u00b7 source\u00a7

    impl<T> Octal for Wrapping<T>
    where\n T: Octal,

    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.Pointer.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.Pointer.html", "unified_diff": "@@ -1,11 +1,11 @@\n Pointer in alloc::fmt - Rust
    \n-

    Trait alloc::fmt::Pointer

    1.0.0 \u00b7 source \u00b7
    pub trait Pointer {\n+    

    Trait alloc::fmt::Pointer

    1.0.0 \u00b7 source \u00b7
    pub trait Pointer {\n     // Required method\n-    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;\n+    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;\n }
    Expand description

    p formatting.

    \n

    The Pointer trait should format its output as a memory location. This is commonly presented\n as hexadecimal.

    \n

    For more information on formatters, see the module-level documentation.

    \n

    \u00a7Examples

    \n

    Basic usage with &i32:

    \n \n@@ -30,16 +30,16 @@\n let l = Length(42);\n \n println!(\"l is in memory here: {l:p}\");\n \n let l_ptr = format!(\"{l:018p}\");\n assert_eq!(l_ptr.len(), 18);\n assert_eq!(&l_ptr[..2], \"0x\");
    Run
    \n-

    Required Methods\u00a7

    source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n-

    Implementors\u00a7

    1.4.0 \u00b7 source\u00a7

    impl<F> Pointer for F
    where\n- F: FnPtr,

    1.33.0 \u00b7 source\u00a7

    impl<Ptr> Pointer for Pin<Ptr>
    where\n- Ptr: Pointer,

    source\u00a7

    impl<T> Pointer for *const T
    where\n- T: ?Sized,

    source\u00a7

    impl<T> Pointer for *mut T
    where\n- T: ?Sized,

    source\u00a7

    impl<T> Pointer for &T
    where\n- T: ?Sized,

    source\u00a7

    impl<T> Pointer for &mut T
    where\n- T: ?Sized,

    1.25.0 \u00b7 source\u00a7

    impl<T> Pointer for NonNull<T>
    where\n- T: ?Sized,

    1.24.0 \u00b7 source\u00a7

    impl<T> Pointer for AtomicPtr<T>

    source\u00a7

    impl<T: ?Sized, A: Allocator> Pointer for Box<T, A>

    source\u00a7

    impl<T: ?Sized, A: Allocator> Pointer for Rc<T, A>

    source\u00a7

    impl<T: ?Sized, A: Allocator> Pointer for Arc<T, A>

    \n+

    Required Methods\u00a7

    source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n+

    Implementors\u00a7

    1.4.0 \u00b7 source\u00a7

    impl<F> Pointer for F
    where\n+ F: FnPtr,

    1.33.0 \u00b7 source\u00a7

    impl<Ptr> Pointer for Pin<Ptr>
    where\n+ Ptr: Pointer,

    source\u00a7

    impl<T> Pointer for *const T
    where\n+ T: ?Sized,

    source\u00a7

    impl<T> Pointer for *mut T
    where\n+ T: ?Sized,

    source\u00a7

    impl<T> Pointer for &T
    where\n+ T: ?Sized,

    source\u00a7

    impl<T> Pointer for &mut T
    where\n+ T: ?Sized,

    1.25.0 \u00b7 source\u00a7

    impl<T> Pointer for NonNull<T>
    where\n+ T: ?Sized,

    1.24.0 \u00b7 source\u00a7

    impl<T> Pointer for AtomicPtr<T>

    source\u00a7

    impl<T: ?Sized, A: Allocator> Pointer for Box<T, A>

    source\u00a7

    impl<T: ?Sized, A: Allocator> Pointer for Rc<T, A>

    source\u00a7

    impl<T: ?Sized, A: Allocator> Pointer for Arc<T, A>

    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.UpperExp.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.UpperExp.html", "unified_diff": "@@ -1,11 +1,11 @@\n UpperExp in alloc::fmt - Rust
    \n-

    Trait alloc::fmt::UpperExp

    1.0.0 \u00b7 source \u00b7
    pub trait UpperExp {\n+    

    Trait alloc::fmt::UpperExp

    1.0.0 \u00b7 source \u00b7
    pub trait UpperExp {\n     // Required method\n-    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;\n+    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;\n }
    Expand description

    E formatting.

    \n

    The UpperExp trait should format its output in scientific notation with an upper-case E.

    \n

    For more information on formatters, see the module-level documentation.

    \n

    \u00a7Examples

    \n

    Basic usage with f64:

    \n \n
    let x = 42.0; // 42.0 is '4.2E1' in scientific notation\n@@ -31,11 +31,11 @@\n     \"l in scientific notation is: 1E2\"\n );\n \n assert_eq!(\n     format!(\"l in scientific notation is: {l:05E}\"),\n     \"l in scientific notation is: 001E2\"\n );
    Run
    \n-

    Required Methods\u00a7

    source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n-

    Implementors\u00a7

    source\u00a7

    impl UpperExp for f32

    source\u00a7

    impl UpperExp for f64

    1.42.0 \u00b7 source\u00a7

    impl UpperExp for i8

    1.42.0 \u00b7 source\u00a7

    impl UpperExp for i16

    1.42.0 \u00b7 source\u00a7

    impl UpperExp for i32

    1.42.0 \u00b7 source\u00a7

    impl UpperExp for i64

    1.42.0 \u00b7 source\u00a7

    impl UpperExp for i128

    1.42.0 \u00b7 source\u00a7

    impl UpperExp for isize

    1.42.0 \u00b7 source\u00a7

    impl UpperExp for u8

    1.42.0 \u00b7 source\u00a7

    impl UpperExp for u16

    1.42.0 \u00b7 source\u00a7

    impl UpperExp for u32

    1.42.0 \u00b7 source\u00a7

    impl UpperExp for u64

    1.42.0 \u00b7 source\u00a7

    impl UpperExp for u128

    1.42.0 \u00b7 source\u00a7

    impl UpperExp for usize

    source\u00a7

    impl<T> UpperExp for &T
    where\n- T: UpperExp + ?Sized,

    source\u00a7

    impl<T> UpperExp for &mut T
    where\n- T: UpperExp + ?Sized,

    \n+

    Required Methods\u00a7

    source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n+

    Implementors\u00a7

    source\u00a7

    impl UpperExp for f32

    source\u00a7

    impl UpperExp for f64

    1.42.0 \u00b7 source\u00a7

    impl UpperExp for i8

    1.42.0 \u00b7 source\u00a7

    impl UpperExp for i16

    1.42.0 \u00b7 source\u00a7

    impl UpperExp for i32

    1.42.0 \u00b7 source\u00a7

    impl UpperExp for i64

    1.42.0 \u00b7 source\u00a7

    impl UpperExp for i128

    1.42.0 \u00b7 source\u00a7

    impl UpperExp for isize

    1.42.0 \u00b7 source\u00a7

    impl UpperExp for u8

    1.42.0 \u00b7 source\u00a7

    impl UpperExp for u16

    1.42.0 \u00b7 source\u00a7

    impl UpperExp for u32

    1.42.0 \u00b7 source\u00a7

    impl UpperExp for u64

    1.42.0 \u00b7 source\u00a7

    impl UpperExp for u128

    1.42.0 \u00b7 source\u00a7

    impl UpperExp for usize

    source\u00a7

    impl<T> UpperExp for &T
    where\n+ T: UpperExp + ?Sized,

    source\u00a7

    impl<T> UpperExp for &mut T
    where\n+ T: UpperExp + ?Sized,

    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.UpperHex.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.UpperHex.html", "unified_diff": "@@ -1,11 +1,11 @@\n UpperHex in alloc::fmt - Rust
    \n-

    Trait alloc::fmt::UpperHex

    1.0.0 \u00b7 source \u00b7
    pub trait UpperHex {\n+    

    Trait alloc::fmt::UpperHex

    1.0.0 \u00b7 source \u00b7
    pub trait UpperHex {\n     // Required method\n-    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;\n+    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>;\n }
    Expand description

    X formatting.

    \n

    The UpperHex trait should format its output as a number in hexadecimal, with A through F\n in upper case.

    \n

    For primitive signed integers (i8 to i128, and isize),\n negative values are formatted as the two\u2019s complement representation.

    \n

    The alternate flag, #, adds a 0x in front of the output.

    \n

    For more information on formatters, see the module-level documentation.

    \n@@ -33,14 +33,14 @@\n }\n \n let l = Length(i32::MAX);\n \n assert_eq!(format!(\"l as hex is: {l:X}\"), \"l as hex is: 7FFFFFFF\");\n \n assert_eq!(format!(\"l as hex is: {l:#010X}\"), \"l as hex is: 0x7FFFFFFF\");
    Run
    \n-

    Required Methods\u00a7

    source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n-

    Implementors\u00a7

    source\u00a7

    impl UpperHex for i8

    source\u00a7

    impl UpperHex for i16

    source\u00a7

    impl UpperHex for i32

    source\u00a7

    impl UpperHex for i64

    source\u00a7

    impl UpperHex for i128

    source\u00a7

    impl UpperHex for isize

    source\u00a7

    impl UpperHex for u8

    source\u00a7

    impl UpperHex for u16

    source\u00a7

    impl UpperHex for u32

    source\u00a7

    impl UpperHex for u64

    source\u00a7

    impl UpperHex for u128

    source\u00a7

    impl UpperHex for usize

    source\u00a7

    impl<T> UpperHex for &T
    where\n- T: UpperHex + ?Sized,

    source\u00a7

    impl<T> UpperHex for &mut T
    where\n- T: UpperHex + ?Sized,

    1.28.0 \u00b7 source\u00a7

    impl<T> UpperHex for NonZero<T>

    1.74.0 \u00b7 source\u00a7

    impl<T> UpperHex for Saturating<T>
    where\n- T: UpperHex,

    1.11.0 \u00b7 source\u00a7

    impl<T> UpperHex for Wrapping<T>
    where\n+

    Required Methods\u00a7

    source

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter.

    \n+

    Implementors\u00a7

    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.Write.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/trait.Write.html", "unified_diff": "@@ -1,20 +1,20 @@\n Write in alloc::fmt - Rust
    \n-

    Trait alloc::fmt::Write

    1.0.0 \u00b7 source \u00b7
    pub trait Write {\n+    

    Trait alloc::fmt::Write

    1.0.0 \u00b7 source \u00b7
    pub trait Write {\n     // Required method\n-    fn write_str(&mut self, s: &str) -> Result<(), Error>;\n+    fn write_str(&mut self, s: &str) -> Result<(), Error>;\n \n     // Provided methods\n-    fn write_char(&mut self, c: char) -> Result<(), Error> { ... }\n-    fn write_fmt(&mut self, args: Arguments<'_>) -> Result<(), Error> { ... }\n+    fn write_char(&mut self, c: char) -> Result<(), Error> { ... }\n+    fn write_fmt(&mut self, args: Arguments<'_>) -> Result<(), Error> { ... }\n }
    Expand description

    A trait for writing or formatting into Unicode-accepting buffers or streams.

    \n

    This trait only accepts UTF-8\u2013encoded data and is not flushable. If you only\n want to accept Unicode and you don\u2019t need flushing, you should implement this trait;\n otherwise you should implement std::io::Write.

    \n-

    Required Methods\u00a7

    source

    fn write_str(&mut self, s: &str) -> Result<(), Error>

    Writes a string slice into this writer, returning whether the write\n+

    Required Methods\u00a7

    source

    fn write_str(&mut self, s: &str) -> Result<(), Error>

    Writes a string slice into this writer, returning whether the write\n succeeded.

    \n

    This method can only succeed if the entire string slice was successfully\n written, and this method will not return until all data has been\n written or an error occurs.

    \n
    \u00a7Errors
    \n

    This function will return an instance of std::fmt::Error on error.

    \n

    The purpose of that error is to abort the formatting operation when the underlying\n@@ -26,16 +26,16 @@\n fn writer<W: Write>(f: &mut W, s: &str) -> Result<(), Error> {\n f.write_str(s)\n }\n \n let mut buf = String::new();\n writer(&mut buf, \"hola\").unwrap();\n assert_eq!(&buf, \"hola\");

    Run
    \n-

    Provided Methods\u00a7

    1.1.0 \u00b7 source

    fn write_char(&mut self, c: char) -> Result<(), Error>

    Writes a char into this writer, returning whether the write succeeded.

    \n-

    A single char may be encoded as more than one byte.\n+

    Provided Methods\u00a7

    1.1.0 \u00b7 source

    fn write_char(&mut self, c: char) -> Result<(), Error>

    Writes a char into this writer, returning whether the write succeeded.

    \n+

    A single char may be encoded as more than one byte.\n This method can only succeed if the entire byte sequence was successfully\n written, and this method will not return until all data has been\n written or an error occurs.

    \n
    \u00a7Errors
    \n

    This function will return an instance of Error on error.

    \n
    \u00a7Examples
    \n
    use std::fmt::{Error, Write};\n@@ -44,25 +44,25 @@\n     f.write_char(c)\n }\n \n let mut buf = String::new();\n writer(&mut buf, 'a').unwrap();\n writer(&mut buf, 'b').unwrap();\n assert_eq!(&buf, \"ab\");
    Run
    \n-
    source

    fn write_fmt(&mut self, args: Arguments<'_>) -> Result<(), Error>

    Glue for usage of the write! macro with implementors of this trait.

    \n+
    source

    fn write_fmt(&mut self, args: Arguments<'_>) -> Result<(), Error>

    Glue for usage of the write! macro with implementors of this trait.

    \n

    This method should generally not be invoked manually, but rather through\n-the write! macro itself.

    \n+the write! macro itself.

    \n
    \u00a7Errors
    \n

    This function will return an instance of Error on error. Please see\n write_str for details.

    \n
    \u00a7Examples
    \n
    use std::fmt::{Error, Write};\n \n fn writer<W: Write>(f: &mut W, s: &str) -> Result<(), Error> {\n     f.write_fmt(format_args!(\"{s}\"))\n }\n \n let mut buf = String::new();\n writer(&mut buf, \"world\").unwrap();\n assert_eq!(&buf, \"world\");
    Run
    \n-

    Implementors\u00a7

    source\u00a7

    impl Write for String

    1.2.0 \u00b7 source\u00a7

    impl Write for Formatter<'_>

    1.4.0 \u00b7 source\u00a7

    impl<W> Write for &mut W
    where\n- W: Write + ?Sized,

    \n+

    Implementors\u00a7

    source\u00a7

    impl Write for String

    1.2.0 \u00b7 source\u00a7

    impl Write for Formatter<'_>

    1.4.0 \u00b7 source\u00a7

    impl<W> Write for &mut W
    where\n+ W: Write + ?Sized,

    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/fmt/type.Result.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/fmt/type.Result.html", "unified_diff": "@@ -1,9 +1,9 @@\n Result in alloc::fmt - Rust
    \n-

    Type Alias alloc::fmt::Result

    1.0.0 \u00b7 source \u00b7
    pub type Result = Result<(), Error>;
    Expand description

    The type returned by formatter methods.

    \n+

    Type Alias alloc::fmt::Result

    1.0.0 \u00b7 source \u00b7
    pub type Result = Result<(), Error>;
    Expand description

    The type returned by formatter methods.

    \n

    \u00a7Examples

    \n
    use std::fmt;\n \n #[derive(Debug)]\n struct Triangle {\n     a: f32,\n     b: f32,\n@@ -16,12 +16,12 @@\n     }\n }\n \n let pythagorean_triple = Triangle { a: 3.0, b: 4.0, c: 5.0 };\n \n assert_eq!(format!(\"{pythagorean_triple}\"), \"(3, 4, 5)\");
    Run
    \n

    Aliased Type\u00a7

    enum Result {\n-    Ok(()),\n+    Ok(()),\n     Err(Error),\n-}

    Variants\u00a7

    \u00a7

    Ok(())

    Contains the success value

    \n+}

    Variants\u00a7

    \u00a7

    Ok(())

    Contains the success value

    \n
    \u00a7

    Err(Error)

    Contains the error value

    \n
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/index.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/index.html", "unified_diff": "@@ -15,16 +15,16 @@\n is the same as that of a pointer. Tree-like data structures are often built\n with boxes because each node often has only one owner, the parent.

    \n

    \u00a7Reference counted pointers

    \n

    The Rc type is a non-threadsafe reference-counted pointer type intended\n for sharing memory within a thread. An Rc pointer wraps a type, T, and\n only allows access to &T, a shared reference.

    \n

    This type is useful when inherited mutability (such as using Box) is too\n-constraining for an application, and is often paired with the Cell or\n-RefCell types in order to allow mutation.

    \n+constraining for an application, and is often paired with the Cell or\n+RefCell types in order to allow mutation.

    \n

    \u00a7Atomically reference counted pointers

    \n

    The Arc type is the threadsafe equivalent of the Rc type. It\n provides all the same functionality of Rc, except it requires that the\n contained type T is shareable. Additionally, Arc<T> is itself\n sendable while Rc<T> is not.

    \n

    This type allows for shared access to the contained data, and is often\n paired with synchronization primitives such as mutexes to allow mutation of\n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/macro.format.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/macro.format.html", "unified_diff": "@@ -6,19 +6,19 @@\n literal. The power of the formatting string is in the {}s contained.\n Additional parameters passed to format! replace the {}s within the\n formatting string in the order given unless named or positional parameters\n are used.

    \n

    See the formatting syntax documentation in std::fmt\n for details.

    \n

    A common use for format! is concatenation and interpolation of strings.\n-The same convention is used with print! and write! macros,\n-depending on the intended destination of the string; all these macros internally use format_args!.

    \n+The same convention is used with print! and write! macros,\n+depending on the intended destination of the string; all these macros internally use format_args!.

    \n

    To convert a single value to a string, use the to_string method. This\n will use the Display formatting trait.

    \n-

    To concatenate literals into a &'static str, use the concat! macro.

    \n+

    To concatenate literals into a &'static str, use the concat! macro.

    \n

    \u00a7Panics

    \n

    format! panics if a formatting trait implementation returns an error.\n This indicates an incorrect implementation\n since fmt::Write for String never returns an error itself.

    \n

    \u00a7Examples

    \n
    format!(\"test\");                             // => \"test\"\n format!(\"hello {}\", \"world!\");               // => \"hello world!\"\n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/macro.vec.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/macro.vec.html", "unified_diff": "@@ -17,15 +17,15 @@\n 
      \n
    • Create a Vec from a given element and size:
    • \n
    \n \n
    let v = vec![1; 3];\n assert_eq!(v, [1, 1, 1]);
    Run
    \n

    Note that unlike array expressions this syntax supports all elements\n-which implement Clone and the number of elements doesn\u2019t have to be\n+which implement Clone and the number of elements doesn\u2019t have to be\n a constant.

    \n

    This will use clone to duplicate an expression, so one should be careful\n using this with types having a nonstandard Clone implementation. For\n example, vec![Rc::new(1); 5] will create a vector of five references\n to the same boxed integer value, not five references pointing to independently\n boxed integers.

    \n

    Also, note that vec![expr; 0] is allowed, and produces an empty vector.\n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/rc/index.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/rc/index.html", "unified_diff": "@@ -1,37 +1,37 @@\n alloc::rc - Rust

    \n

    Module alloc::rc

    1.0.0 \u00b7 source \u00b7
    Expand description

    Single-threaded reference-counting pointers. \u2018Rc\u2019 stands for \u2018Reference\n Counted\u2019.

    \n

    The type Rc<T> provides shared ownership of a value of type T,\n-allocated in the heap. Invoking clone on Rc produces a new\n+allocated in the heap. Invoking clone on Rc produces a new\n pointer to the same allocation in the heap. When the last Rc pointer to a\n given allocation is destroyed, the value stored in that allocation (often\n referred to as \u201cinner value\u201d) is also dropped.

    \n

    Shared references in Rust disallow mutation by default, and Rc\n is no exception: you cannot generally obtain a mutable reference to\n-something inside an Rc. If you need mutability, put a Cell\n-or RefCell inside the Rc; see an example of mutability\n+something inside an Rc. If you need mutability, put a Cell\n+or RefCell inside the Rc; see an example of mutability\n inside an Rc.

    \n

    Rc uses non-atomic reference counting. This means that overhead is very\n low, but an Rc cannot be sent between threads, and consequently Rc\n-does not implement Send. As a result, the Rust compiler\n+does not implement Send. As a result, the Rust compiler\n will check at compile time that you are not sending Rcs between\n threads. If you need multi-threaded, atomic reference counting, use\n sync::Arc.

    \n

    The downgrade method can be used to create a non-owning\n Weak pointer. A Weak pointer can be upgraded\n-to an Rc, but this will return None if the value stored in the allocation has\n+to an Rc, but this will return None if the value stored in the allocation has\n already been dropped. In other words, Weak pointers do not keep the value\n inside the allocation alive; however, they do keep the allocation\n (the backing store for the inner value) alive.

    \n

    A cycle between Rc pointers will never be deallocated. For this reason,\n Weak is used to break cycles. For example, a tree could have strong\n Rc pointers from parent nodes to children, and Weak pointers from\n children back to their parents.

    \n-

    Rc<T> automatically dereferences to T (via the Deref trait),\n+

    Rc<T> automatically dereferences to T (via the Deref trait),\n so you can call T\u2019s methods on a value of type Rc<T>. To avoid name\n clashes with T\u2019s methods, the methods of Rc<T> itself are associated\n functions, called using fully qualified syntax:

    \n \n
    use std::rc::Rc;\n \n let my_rc = Rc::new(());\n@@ -126,17 +126,17 @@\n a memory leak. In order to get around this, we can use Weak\n pointers.

    \n

    Rust actually makes it somewhat difficult to produce this loop in the first\n place. In order to end up with two values that point at each other, one of\n them needs to be mutable. This is difficult because Rc enforces\n memory safety by only giving out shared references to the value it wraps,\n and these don\u2019t allow direct mutation. We need to wrap the part of the\n-value we wish to mutate in a RefCell, which provides interior\n+value we wish to mutate in a RefCell, which provides interior\n mutability: a method to achieve mutability through a shared reference.\n-RefCell enforces Rust\u2019s borrowing rules at runtime.

    \n+RefCell enforces Rust\u2019s borrowing rules at runtime.

    \n \n
    use std::rc::Rc;\n use std::rc::Weak;\n use std::cell::RefCell;\n \n struct Owner {\n     name: String,\n@@ -203,8 +203,8 @@\n     // are destroyed. There are now no strong (`Rc`) pointers to the\n     // gadgets, so they are destroyed. This zeroes the reference count on\n     // Gadget Man, so he gets destroyed as well.\n }
    Run
    \n

    Structs\u00a7

    • A single-threaded reference-counting pointer. \u2018Rc\u2019 stands for \u2018Reference\n Counted\u2019.
    • Weak is a version of Rc that holds a non-owning reference to the\n managed allocation. The allocation is accessed by calling upgrade on the Weak\n-pointer, which returns an Option<Rc<T>>.
    • UniqueRcExperimental
      A uniquely owned Rc
    \n+pointer, which returns an Option<Rc<T>>.
  • UniqueRcExperimental
    A uniquely owned Rc
  • \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/rc/struct.Rc.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/rc/struct.Rc.html", "unified_diff": "@@ -1,21 +1,21 @@\n Rc in alloc::rc - Rust
    \n-

    Struct alloc::rc::Rc

    1.0.0 \u00b7 source \u00b7
    pub struct Rc<T: ?Sized, A: Allocator = Global> { /* private fields */ }
    Expand description

    A single-threaded reference-counting pointer. \u2018Rc\u2019 stands for \u2018Reference\n+

    Struct alloc::rc::Rc

    1.0.0 \u00b7 source \u00b7
    pub struct Rc<T: ?Sized, A: Allocator = Global> { /* private fields */ }
    Expand description

    A single-threaded reference-counting pointer. \u2018Rc\u2019 stands for \u2018Reference\n Counted\u2019.

    \n

    See the module-level documentation for more details.

    \n

    The inherent methods of Rc are all associated functions, which means\n that you have to call them as e.g., Rc::get_mut(&mut value) instead of\n value.get_mut(). This avoids conflicts with methods of the inner type T.

    \n

    Implementations\u00a7

    source\u00a7

    impl<T> Rc<T>

    source

    pub fn new(value: T) -> Rc<T>

    Constructs a new Rc<T>.

    \n
    \u00a7Examples
    \n
    use std::rc::Rc;\n \n let five = Rc::new(5);
    Run
    \n
    1.60.0 \u00b7 source

    pub fn new_cyclic<F>(data_fn: F) -> Rc<T>
    where\n- F: FnOnce(&Weak<T>) -> T,

    Constructs a new Rc<T> while giving you a Weak<T> to the allocation,\n+ F: FnOnce(&Weak<T>) -> T,

    Constructs a new Rc<T> while giving you a Weak<T> to the allocation,\n to allow you to construct a T which holds a weak pointer to itself.

    \n

    Generally, a structure circularly referencing itself, either directly or\n indirectly, should not hold a strong reference to itself to prevent a memory leak.\n Using this function, you get access to the weak pointer during the\n initialization of T, before the Rc<T> is created, such that you can\n clone and store it inside the T.

    \n

    new_cyclic first allocates the managed allocation for the Rc<T>,\n@@ -47,90 +47,90 @@\n }\n \n /// Return a reference counted pointer to Self.\n fn me(&self) -> Rc<Self> {\n self.me.upgrade().unwrap()\n }\n }Run

    \n-
    source

    pub fn new_uninit() -> Rc<MaybeUninit<T>>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new Rc with uninitialized contents.

    \n+
    source

    pub fn new_uninit() -> Rc<MaybeUninit<T>>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new Rc with uninitialized contents.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n #![feature(get_mut_unchecked)]\n \n use std::rc::Rc;\n \n let mut five = Rc::<u32>::new_uninit();\n \n // Deferred initialization:\n Rc::get_mut(&mut five).unwrap().write(5);\n \n let five = unsafe { five.assume_init() };\n \n assert_eq!(*five, 5)
    Run
    \n-
    source

    pub fn new_zeroed() -> Rc<MaybeUninit<T>>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new Rc with uninitialized contents, with the memory\n+

    source

    pub fn new_zeroed() -> Rc<MaybeUninit<T>>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new Rc with uninitialized contents, with the memory\n being filled with 0 bytes.

    \n-

    See MaybeUninit::zeroed for examples of correct and\n+

    See MaybeUninit::zeroed for examples of correct and\n incorrect usage of this method.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n \n use std::rc::Rc;\n \n let zero = Rc::<u32>::new_zeroed();\n let zero = unsafe { zero.assume_init() };\n \n assert_eq!(*zero, 0)
    Run
    \n-
    source

    pub fn try_new(value: T) -> Result<Rc<T>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Rc<T>, returning an error if the allocation fails

    \n+
    source

    pub fn try_new(value: T) -> Result<Rc<T>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Rc<T>, returning an error if the allocation fails

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api)]\n use std::rc::Rc;\n \n let five = Rc::try_new(5);
    Run
    \n-
    source

    pub fn try_new_uninit() -> Result<Rc<MaybeUninit<T>>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Rc with uninitialized contents, returning an error if the allocation fails

    \n+
    source

    pub fn try_new_uninit() -> Result<Rc<MaybeUninit<T>>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Rc with uninitialized contents, returning an error if the allocation fails

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api, new_uninit)]\n #![feature(get_mut_unchecked)]\n \n use std::rc::Rc;\n \n let mut five = Rc::<u32>::try_new_uninit()?;\n \n // Deferred initialization:\n Rc::get_mut(&mut five).unwrap().write(5);\n \n let five = unsafe { five.assume_init() };\n \n assert_eq!(*five, 5);
    Run
    \n-
    source

    pub fn try_new_zeroed() -> Result<Rc<MaybeUninit<T>>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Rc with uninitialized contents, with the memory\n+

    source

    pub fn try_new_zeroed() -> Result<Rc<MaybeUninit<T>>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Rc with uninitialized contents, with the memory\n being filled with 0 bytes, returning an error if the allocation fails

    \n-

    See MaybeUninit::zeroed for examples of correct and\n+

    See MaybeUninit::zeroed for examples of correct and\n incorrect usage of this method.

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api, new_uninit)]\n \n use std::rc::Rc;\n \n let zero = Rc::<u32>::try_new_zeroed()?;\n let zero = unsafe { zero.assume_init() };\n \n assert_eq!(*zero, 0);
    Run
    \n-
    1.33.0 \u00b7 source

    pub fn pin(value: T) -> Pin<Rc<T>>

    Constructs a new Pin<Rc<T>>. If T does not implement Unpin, then\n+

    1.33.0 \u00b7 source

    pub fn pin(value: T) -> Pin<Rc<T>>

    Constructs a new Pin<Rc<T>>. If T does not implement Unpin, then\n value will be pinned in memory and unable to be moved.

    \n-
    source\u00a7

    impl<T, A: Allocator> Rc<T, A>

    source

    pub fn allocator(this: &Self) -> &A

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Returns a reference to the underlying allocator.

    \n+
    source\u00a7

    impl<T, A: Allocator> Rc<T, A>

    source

    pub fn allocator(this: &Self) -> &A

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\n to call it as Rc::allocator(&r) instead of r.allocator(). This\n is so that there is no conflict with a method on the inner type.

    \n
    source

    pub fn new_in(value: T, alloc: A) -> Rc<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Rc in the provided allocator.

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api)]\n use std::rc::Rc;\n use std::alloc::System;\n \n let five = Rc::new_in(5, System);
    Run
    \n-
    source

    pub fn new_uninit_in(alloc: A) -> Rc<MaybeUninit<T>, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Rc with uninitialized contents in the provided allocator.

    \n+
    source

    pub fn new_uninit_in(alloc: A) -> Rc<MaybeUninit<T>, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Rc with uninitialized contents in the provided allocator.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n #![feature(get_mut_unchecked)]\n #![feature(allocator_api)]\n \n use std::rc::Rc;\n use std::alloc::System;\n@@ -141,38 +141,38 @@\n     // Deferred initialization:\n     Rc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n \n     five.assume_init()\n };\n \n assert_eq!(*five, 5)
    Run
    \n-
    source

    pub fn new_zeroed_in(alloc: A) -> Rc<MaybeUninit<T>, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Rc with uninitialized contents, with the memory\n+

    source

    pub fn new_zeroed_in(alloc: A) -> Rc<MaybeUninit<T>, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Rc with uninitialized contents, with the memory\n being filled with 0 bytes, in the provided allocator.

    \n-

    See MaybeUninit::zeroed for examples of correct and\n+

    See MaybeUninit::zeroed for examples of correct and\n incorrect usage of this method.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n #![feature(allocator_api)]\n \n use std::rc::Rc;\n use std::alloc::System;\n \n let zero = Rc::<u32, _>::new_zeroed_in(System);\n let zero = unsafe { zero.assume_init() };\n \n assert_eq!(*zero, 0)
    Run
    \n-
    source

    pub fn try_new_in(value: T, alloc: A) -> Result<Self, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Rc<T> in the provided allocator, returning an error if the allocation\n+

    source

    pub fn try_new_in(value: T, alloc: A) -> Result<Self, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Rc<T> in the provided allocator, returning an error if the allocation\n fails

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api)]\n use std::rc::Rc;\n use std::alloc::System;\n \n let five = Rc::try_new_in(5, System);
    Run
    \n-
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Rc<MaybeUninit<T>, A>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Rc with uninitialized contents, in the provided allocator, returning an\n+

    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Rc<MaybeUninit<T>, A>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Rc with uninitialized contents, in the provided allocator, returning an\n error if the allocation fails

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api, new_uninit)]\n #![feature(get_mut_unchecked)]\n \n use std::rc::Rc;\n use std::alloc::System;\n@@ -183,67 +183,67 @@\n     // Deferred initialization:\n     Rc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n \n     five.assume_init()\n };\n \n assert_eq!(*five, 5);
    Run
    \n-
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Rc<MaybeUninit<T>, A>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Rc with uninitialized contents, with the memory\n+

    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Rc<MaybeUninit<T>, A>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Rc with uninitialized contents, with the memory\n being filled with 0 bytes, in the provided allocator, returning an error if the allocation\n fails

    \n-

    See MaybeUninit::zeroed for examples of correct and\n+

    See MaybeUninit::zeroed for examples of correct and\n incorrect usage of this method.

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api, new_uninit)]\n \n use std::rc::Rc;\n use std::alloc::System;\n \n let zero = Rc::<u32, _>::try_new_zeroed_in(System)?;\n let zero = unsafe { zero.assume_init() };\n \n assert_eq!(*zero, 0);
    Run
    \n-
    source

    pub fn pin_in(value: T, alloc: A) -> Pin<Self>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Pin<Rc<T>> in the provided allocator. If T does not implement Unpin, then\n+

    source

    pub fn pin_in(value: T, alloc: A) -> Pin<Self>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Pin<Rc<T>> in the provided allocator. If T does not implement Unpin, then\n value will be pinned in memory and unable to be moved.

    \n-
    1.4.0 \u00b7 source

    pub fn try_unwrap(this: Self) -> Result<T, Self>

    Returns the inner value, if the Rc has exactly one strong reference.

    \n-

    Otherwise, an Err is returned with the same Rc that was\n+

    1.4.0 \u00b7 source

    pub fn try_unwrap(this: Self) -> Result<T, Self>

    Returns the inner value, if the Rc has exactly one strong reference.

    \n+

    Otherwise, an Err is returned with the same Rc that was\n passed in.

    \n

    This will succeed even if there are outstanding weak references.

    \n
    \u00a7Examples
    \n
    use std::rc::Rc;\n \n let x = Rc::new(3);\n assert_eq!(Rc::try_unwrap(x), Ok(3));\n \n let x = Rc::new(4);\n let _y = Rc::clone(&x);\n assert_eq!(*Rc::try_unwrap(x).unwrap_err(), 4);
    Run
    \n-
    1.70.0 \u00b7 source

    pub fn into_inner(this: Self) -> Option<T>

    Returns the inner value, if the Rc has exactly one strong reference.

    \n-

    Otherwise, None is returned and the Rc is dropped.

    \n+
    1.70.0 \u00b7 source

    pub fn into_inner(this: Self) -> Option<T>

    Returns the inner value, if the Rc has exactly one strong reference.

    \n+

    Otherwise, None is returned and the Rc is dropped.

    \n

    This will succeed even if there are outstanding weak references.

    \n

    If Rc::into_inner is called on every clone of this Rc,\n it is guaranteed that exactly one of the calls returns the inner value.\n This means in particular that the inner value is not dropped.

    \n

    Rc::try_unwrap is conceptually similar to Rc::into_inner.\n And while they are meant for different use-cases, Rc::into_inner(this)\n-is in fact equivalent to Rc::try_unwrap(this).ok().\n+is in fact equivalent to Rc::try_unwrap(this).ok().\n (Note that the same kind of equivalence does not hold true for\n Arc, due to race conditions that do not apply to Rc!)

    \n
    \u00a7Examples
    \n
    use std::rc::Rc;\n \n let x = Rc::new(3);\n assert_eq!(Rc::into_inner(x), Some(3));\n \n let x = Rc::new(4);\n let y = Rc::clone(&x);\n \n assert_eq!(Rc::into_inner(y), None);\n assert_eq!(Rc::into_inner(x), Some(4));
    Run
    \n-
    source\u00a7

    impl<T> Rc<[T]>

    source

    pub fn new_uninit_slice(len: usize) -> Rc<[MaybeUninit<T>]>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new reference-counted slice with uninitialized contents.

    \n+
    source\u00a7

    impl<T> Rc<[T]>

    source

    pub fn new_uninit_slice(len: usize) -> Rc<[MaybeUninit<T>]>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new reference-counted slice with uninitialized contents.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n #![feature(get_mut_unchecked)]\n \n use std::rc::Rc;\n \n let mut values = Rc::<[u32]>::new_uninit_slice(3);\n@@ -253,28 +253,28 @@\n data[0].write(1);\n data[1].write(2);\n data[2].write(3);\n \n let values = unsafe { values.assume_init() };\n \n assert_eq!(*values, [1, 2, 3])
    Run
    \n-
    source

    pub fn new_zeroed_slice(len: usize) -> Rc<[MaybeUninit<T>]>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new reference-counted slice with uninitialized contents, with the memory being\n+

    source

    pub fn new_zeroed_slice(len: usize) -> Rc<[MaybeUninit<T>]>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new reference-counted slice with uninitialized contents, with the memory being\n filled with 0 bytes.

    \n-

    See MaybeUninit::zeroed for examples of correct and\n+

    See MaybeUninit::zeroed for examples of correct and\n incorrect usage of this method.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n \n use std::rc::Rc;\n \n let values = Rc::<[u32]>::new_zeroed_slice(3);\n let values = unsafe { values.assume_init() };\n \n assert_eq!(*values, [0, 0, 0])
    Run
    \n-
    source\u00a7

    impl<T, A: Allocator> Rc<[T], A>

    source

    pub fn new_uninit_slice_in(len: usize, alloc: A) -> Rc<[MaybeUninit<T>], A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new reference-counted slice with uninitialized contents.

    \n+
    source\u00a7

    impl<T, A: Allocator> Rc<[T], A>

    source

    pub fn new_uninit_slice_in(len: usize, alloc: A) -> Rc<[MaybeUninit<T>], A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new reference-counted slice with uninitialized contents.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n #![feature(get_mut_unchecked)]\n #![feature(allocator_api)]\n \n use std::rc::Rc;\n use std::alloc::System;\n@@ -287,33 +287,33 @@\n     Rc::get_mut_unchecked(&mut values)[1].as_mut_ptr().write(2);\n     Rc::get_mut_unchecked(&mut values)[2].as_mut_ptr().write(3);\n \n     values.assume_init()\n };\n \n assert_eq!(*values, [1, 2, 3])
    Run
    \n-
    source

    pub fn new_zeroed_slice_in(len: usize, alloc: A) -> Rc<[MaybeUninit<T>], A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new reference-counted slice with uninitialized contents, with the memory being\n+

    source

    pub fn new_zeroed_slice_in(len: usize, alloc: A) -> Rc<[MaybeUninit<T>], A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new reference-counted slice with uninitialized contents, with the memory being\n filled with 0 bytes.

    \n-

    See MaybeUninit::zeroed for examples of correct and\n+

    See MaybeUninit::zeroed for examples of correct and\n incorrect usage of this method.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n #![feature(allocator_api)]\n \n use std::rc::Rc;\n use std::alloc::System;\n \n let values = Rc::<[u32], _>::new_zeroed_slice_in(3, System);\n let values = unsafe { values.assume_init() };\n \n assert_eq!(*values, [0, 0, 0])
    Run
    \n-
    source\u00a7

    impl<T, A: Allocator> Rc<MaybeUninit<T>, A>

    source

    pub unsafe fn assume_init(self) -> Rc<T, A>
    where\n- A: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Converts to Rc<T>.

    \n+
    source\u00a7

    impl<T, A: Allocator> Rc<MaybeUninit<T>, A>

    source

    pub unsafe fn assume_init(self) -> Rc<T, A>
    where\n+ A: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Converts to Rc<T>.

    \n
    \u00a7Safety
    \n-

    As with MaybeUninit::assume_init,\n+

    As with MaybeUninit::assume_init,\n it is up to the caller to guarantee that the inner value\n really is in an initialized state.\n Calling this when the content is not yet fully initialized\n causes immediate undefined behavior.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n #![feature(get_mut_unchecked)]\n@@ -324,18 +324,18 @@\n \n // Deferred initialization:\n Rc::get_mut(&mut five).unwrap().write(5);\n \n let five = unsafe { five.assume_init() };\n \n assert_eq!(*five, 5)
    Run
    \n-
    source\u00a7

    impl<T, A: Allocator> Rc<[MaybeUninit<T>], A>

    source

    pub unsafe fn assume_init(self) -> Rc<[T], A>
    where\n- A: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Converts to Rc<[T]>.

    \n+
    source\u00a7

    impl<T, A: Allocator> Rc<[MaybeUninit<T>], A>

    source

    pub unsafe fn assume_init(self) -> Rc<[T], A>
    where\n+ A: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Converts to Rc<[T]>.

    \n
    \u00a7Safety
    \n-

    As with MaybeUninit::assume_init,\n+

    As with MaybeUninit::assume_init,\n it is up to the caller to guarantee that the inner value\n really is in an initialized state.\n Calling this when the content is not yet fully initialized\n causes immediate undefined behavior.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n #![feature(get_mut_unchecked)]\n@@ -349,28 +349,28 @@\n data[0].write(1);\n data[1].write(2);\n data[2].write(3);\n \n let values = unsafe { values.assume_init() };\n \n assert_eq!(*values, [1, 2, 3])
    Run
    \n-
    source\u00a7

    impl<T: ?Sized> Rc<T>

    1.17.0 \u00b7 source

    pub unsafe fn from_raw(ptr: *const T) -> Self

    Constructs an Rc<T> from a raw pointer.

    \n+
    source\u00a7

    impl<T: ?Sized> Rc<T>

    1.17.0 \u00b7 source

    pub unsafe fn from_raw(ptr: *const T) -> Self

    Constructs an Rc<T> from a raw pointer.

    \n

    The raw pointer must have been previously returned by a call to\n Rc<U>::into_raw with the following requirements:

    \n
      \n
    • If U is sized, it must have the same size and alignment as T. This\n is trivially true if U is T.
    • \n
    • If U is unsized, its data pointer must have the same size and\n alignment as T. This is trivially true if Rc<U> was constructed\n through Rc<T> and then converted to Rc<U> through an unsized\n coercion.
    • \n
    \n

    Note that if U or U\u2019s data pointer is not T but has the same size\n and alignment, this is basically like transmuting references of\n-different types. See mem::transmute for more information\n+different types. See mem::transmute for more information\n on what restrictions apply in this case.

    \n

    The raw pointer must point to a block of memory allocated by the global allocator

    \n

    The user of from_raw has to make sure a specific value of T is only\n dropped once.

    \n

    This function is unsafe because improper use may lead to memory unsafety,\n even if the returned Rc<T> is never accessed.

    \n
    \u00a7Examples
    \n@@ -395,15 +395,15 @@\n let x: Rc<[u32]> = Rc::new([1, 2, 3]);\n let x_ptr: *const [u32] = Rc::into_raw(x);\n \n unsafe {\n let x: Rc<[u32; 3]> = Rc::from_raw(x_ptr.cast::<[u32; 3]>());\n assert_eq!(&*x, &[1, 2, 3]);\n }
    Run
    \n-
    1.53.0 \u00b7 source

    pub unsafe fn increment_strong_count(ptr: *const T)

    Increments the strong reference count on the Rc<T> associated with the\n+

    1.53.0 \u00b7 source

    pub unsafe fn increment_strong_count(ptr: *const T)

    Increments the strong reference count on the Rc<T> associated with the\n provided pointer by one.

    \n
    \u00a7Safety
    \n

    The pointer must have been obtained through Rc::into_raw, the\n associated Rc instance must be valid (i.e. the strong count must be at\n least 1) for the duration of this method, and ptr must point to a block of memory\n allocated by the global allocator.

    \n
    \u00a7Examples
    \n@@ -414,15 +414,15 @@\n unsafe {\n let ptr = Rc::into_raw(five);\n Rc::increment_strong_count(ptr);\n \n let five = Rc::from_raw(ptr);\n assert_eq!(2, Rc::strong_count(&five));\n }
    Run
    \n-
    1.53.0 \u00b7 source

    pub unsafe fn decrement_strong_count(ptr: *const T)

    Decrements the strong reference count on the Rc<T> associated with the\n+

    1.53.0 \u00b7 source

    pub unsafe fn decrement_strong_count(ptr: *const T)

    Decrements the strong reference count on the Rc<T> associated with the\n provided pointer by one.

    \n
    \u00a7Safety
    \n

    The pointer must have been obtained through Rc::into_raw, the\n associated Rc instance must be valid (i.e. the strong count must be at\n least 1) when invoking this method, and ptr must point to a block of memory\n allocated by the global allocator. This method can be used to release the final Rc and\n backing storage, but should not be called after the final Rc has been released.

    \n@@ -436,47 +436,47 @@\n Rc::increment_strong_count(ptr);\n \n let five = Rc::from_raw(ptr);\n assert_eq!(2, Rc::strong_count(&five));\n Rc::decrement_strong_count(ptr);\n assert_eq!(1, Rc::strong_count(&five));\n }Run
    \n-
    source\u00a7

    impl<T: ?Sized, A: Allocator> Rc<T, A>

    1.17.0 \u00b7 source

    pub fn into_raw(this: Self) -> *const T

    Consumes the Rc, returning the wrapped pointer.

    \n+
    source\u00a7

    impl<T: ?Sized, A: Allocator> Rc<T, A>

    1.17.0 \u00b7 source

    pub fn into_raw(this: Self) -> *const T

    Consumes the Rc, returning the wrapped pointer.

    \n

    To avoid a memory leak the pointer must be converted back to an Rc using\n Rc::from_raw.

    \n
    \u00a7Examples
    \n
    use std::rc::Rc;\n \n let x = Rc::new(\"hello\".to_owned());\n let x_ptr = Rc::into_raw(x);\n assert_eq!(unsafe { &*x_ptr }, \"hello\");
    Run
    \n-
    1.45.0 \u00b7 source

    pub fn as_ptr(this: &Self) -> *const T

    Provides a raw pointer to the data.

    \n+
    1.45.0 \u00b7 source

    pub fn as_ptr(this: &Self) -> *const T

    Provides a raw pointer to the data.

    \n

    The counts are not affected in any way and the Rc is not consumed. The pointer is valid\n for as long there are strong counts in the Rc.

    \n
    \u00a7Examples
    \n
    use std::rc::Rc;\n \n let x = Rc::new(\"hello\".to_owned());\n let y = Rc::clone(&x);\n let x_ptr = Rc::as_ptr(&x);\n assert_eq!(x_ptr, Rc::as_ptr(&y));\n assert_eq!(unsafe { &*x_ptr }, \"hello\");
    Run
    \n-
    source

    pub unsafe fn from_raw_in(ptr: *const T, alloc: A) -> Self

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs an Rc<T, A> from a raw pointer in the provided allocator.

    \n+
    source

    pub unsafe fn from_raw_in(ptr: *const T, alloc: A) -> Self

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs an Rc<T, A> from a raw pointer in the provided allocator.

    \n

    The raw pointer must have been previously returned by a call to Rc<U, A>::into_raw with the following requirements:

    \n
      \n
    • If U is sized, it must have the same size and alignment as T. This\n is trivially true if U is T.
    • \n
    • If U is unsized, its data pointer must have the same size and\n alignment as T. This is trivially true if Rc<U> was constructed\n through Rc<T> and then converted to Rc<U> through an unsized\n coercion.
    • \n
    \n

    Note that if U or U\u2019s data pointer is not T but has the same size\n and alignment, this is basically like transmuting references of\n-different types. See mem::transmute for more information\n+different types. See mem::transmute for more information\n on what restrictions apply in this case.

    \n

    The raw pointer must point to a block of memory allocated by alloc

    \n

    The user of from_raw has to make sure a specific value of T is only\n dropped once.

    \n

    This function is unsafe because improper use may lead to memory unsafety,\n even if the returned Rc<T> is never accessed.

    \n
    \u00a7Examples
    \n@@ -507,40 +507,40 @@\n let x: Rc<[u32], _> = Rc::new_in([1, 2, 3], System);\n let x_ptr: *const [u32] = Rc::into_raw(x);\n \n unsafe {\n let x: Rc<[u32; 3], _> = Rc::from_raw_in(x_ptr.cast::<[u32; 3]>(), System);\n assert_eq!(&*x, &[1, 2, 3]);\n }Run
    \n-
    1.4.0 \u00b7 source

    pub fn downgrade(this: &Self) -> Weak<T, A>
    where\n- A: Clone,

    Creates a new Weak pointer to this allocation.

    \n+
    1.4.0 \u00b7 source

    pub fn downgrade(this: &Self) -> Weak<T, A>
    where\n+ A: Clone,

    Creates a new Weak pointer to this allocation.

    \n
    \u00a7Examples
    \n
    use std::rc::Rc;\n \n let five = Rc::new(5);\n \n let weak_five = Rc::downgrade(&five);
    Run
    \n-
    1.15.0 \u00b7 source

    pub fn weak_count(this: &Self) -> usize

    Gets the number of Weak pointers to this allocation.

    \n+
    1.15.0 \u00b7 source

    pub fn weak_count(this: &Self) -> usize

    Gets the number of Weak pointers to this allocation.

    \n
    \u00a7Examples
    \n
    use std::rc::Rc;\n \n let five = Rc::new(5);\n let _weak_five = Rc::downgrade(&five);\n \n assert_eq!(1, Rc::weak_count(&five));
    Run
    \n-
    1.15.0 \u00b7 source

    pub fn strong_count(this: &Self) -> usize

    Gets the number of strong (Rc) pointers to this allocation.

    \n+
    1.15.0 \u00b7 source

    pub fn strong_count(this: &Self) -> usize

    Gets the number of strong (Rc) pointers to this allocation.

    \n
    \u00a7Examples
    \n
    use std::rc::Rc;\n \n let five = Rc::new(5);\n let _also_five = Rc::clone(&five);\n \n assert_eq!(2, Rc::strong_count(&five));
    Run
    \n-
    source

    pub unsafe fn increment_strong_count_in(ptr: *const T, alloc: A)
    where\n- A: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Increments the strong reference count on the Rc<T> associated with the\n+

    source

    pub unsafe fn increment_strong_count_in(ptr: *const T, alloc: A)
    where\n+ A: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Increments the strong reference count on the Rc<T> associated with the\n provided pointer by one.

    \n
    \u00a7Safety
    \n

    The pointer must have been obtained through Rc::into_raw, the\n associated Rc instance must be valid (i.e. the strong count must be at\n least 1) for the duration of this method, and ptr must point to a block of memory\n allocated by alloc

    \n
    \u00a7Examples
    \n@@ -554,15 +554,15 @@\n unsafe {\n let ptr = Rc::into_raw(five);\n Rc::increment_strong_count_in(ptr, System);\n \n let five = Rc::from_raw_in(ptr, System);\n assert_eq!(2, Rc::strong_count(&five));\n }Run
    \n-
    source

    pub unsafe fn decrement_strong_count_in(ptr: *const T, alloc: A)

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Decrements the strong reference count on the Rc<T> associated with the\n+

    source

    pub unsafe fn decrement_strong_count_in(ptr: *const T, alloc: A)

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Decrements the strong reference count on the Rc<T> associated with the\n provided pointer by one.

    \n
    \u00a7Safety
    \n

    The pointer must have been obtained through Rc::into_raw, the\n associated Rc instance must be valid (i.e. the strong count must be at\n least 1) when invoking this method, and ptr must point to a block of memory\n allocated by alloc. This method can be used to release the final Rc and backing storage,\n but should not be called after the final Rc has been released.

    \n@@ -579,30 +579,30 @@\n Rc::increment_strong_count_in(ptr, System);\n \n let five = Rc::from_raw_in(ptr, System);\n assert_eq!(2, Rc::strong_count(&five));\n Rc::decrement_strong_count_in(ptr, System);\n assert_eq!(1, Rc::strong_count(&five));\n }Run
    \n-
    1.4.0 \u00b7 source

    pub fn get_mut(this: &mut Self) -> Option<&mut T>

    Returns a mutable reference into the given Rc, if there are\n+

    1.4.0 \u00b7 source

    pub fn get_mut(this: &mut Self) -> Option<&mut T>

    Returns a mutable reference into the given Rc, if there are\n no other Rc or Weak pointers to the same allocation.

    \n-

    Returns None otherwise, because it is not safe to\n+

    Returns None otherwise, because it is not safe to\n mutate a shared value.

    \n-

    See also make_mut, which will clone\n+

    See also make_mut, which will clone\n the inner value when there are other Rc pointers.

    \n
    \u00a7Examples
    \n
    use std::rc::Rc;\n \n let mut x = Rc::new(3);\n *Rc::get_mut(&mut x).unwrap() = 4;\n assert_eq!(*x, 4);\n \n let _y = Rc::clone(&x);\n assert!(Rc::get_mut(&mut x).is_none());
    Run
    \n-
    source

    pub unsafe fn get_mut_unchecked(this: &mut Self) -> &mut T

    \ud83d\udd2cThis is a nightly-only experimental API. (get_mut_unchecked #63292)

    Returns a mutable reference into the given Rc,\n+

    source

    pub unsafe fn get_mut_unchecked(this: &mut Self) -> &mut T

    \ud83d\udd2cThis is a nightly-only experimental API. (get_mut_unchecked #63292)

    Returns a mutable reference into the given Rc,\n without any check.

    \n

    See also get_mut, which is safe and does appropriate checks.

    \n
    \u00a7Safety
    \n

    If any other Rc or Weak pointers to the same allocation exist, then\n they must not be dereferenced or have active borrows for the duration\n of the returned borrow, and their inner type must be exactly the same as the\n inner type of this Rc (including lifetimes). This is trivially the case if no\n@@ -643,28 +643,28 @@\n unsafe {\n // this is Undefined Behavior, because x's inner type\n // is &'long str, not &'short str\n *Rc::get_mut_unchecked(&mut y) = &s;\n }\n }\n println!(\"{}\", &*x); // Use-after-freeRun

    \n-
    1.17.0 \u00b7 source

    pub fn ptr_eq(this: &Self, other: &Self) -> bool

    Returns true if the two Rcs point to the same allocation in a vein similar to\n-ptr::eq. This function ignores the metadata of dyn Trait pointers.

    \n+
    1.17.0 \u00b7 source

    pub fn ptr_eq(this: &Self, other: &Self) -> bool

    Returns true if the two Rcs point to the same allocation in a vein similar to\n+ptr::eq. This function ignores the metadata of dyn Trait pointers.

    \n
    \u00a7Examples
    \n
    use std::rc::Rc;\n \n let five = Rc::new(5);\n let same_five = Rc::clone(&five);\n let other_five = Rc::new(5);\n \n assert!(Rc::ptr_eq(&five, &same_five));\n assert!(!Rc::ptr_eq(&five, &other_five));
    Run
    \n-
    source\u00a7

    impl<T: Clone, A: Allocator + Clone> Rc<T, A>

    1.4.0 \u00b7 source

    pub fn make_mut(this: &mut Self) -> &mut T

    Makes a mutable reference into the given Rc.

    \n+
    source\u00a7

    impl<T: Clone, A: Allocator + Clone> Rc<T, A>

    1.4.0 \u00b7 source

    pub fn make_mut(this: &mut Self) -> &mut T

    Makes a mutable reference into the given Rc.

    \n

    If there are other Rc pointers to the same allocation, then make_mut will\n-clone the inner value to a new allocation to ensure unique ownership. This is also\n+clone the inner value to a new allocation to ensure unique ownership. This is also\n referred to as clone-on-write.

    \n

    However, if there are no other Rc pointers to this allocation, but some Weak\n pointers, then the Weak pointers will be disassociated and the inner value will not\n be cloned.

    \n

    See also get_mut, which will fail rather than cloning the inner value\n or disassociating Weak pointers.

    \n
    \u00a7Examples
    \n@@ -713,29 +713,29 @@\n let inner = Rc::unwrap_or_clone(rc);\n // Because there were 2 references, we had to clone the inner value.\n assert!(!ptr::eq(ptr, inner.as_ptr()));\n // `rc2` is the last reference, so when we unwrap it we get back\n // the original `String`.\n let inner = Rc::unwrap_or_clone(rc2);\n assert!(ptr::eq(ptr, inner.as_ptr()));Run
    \n-
    source\u00a7

    impl<A: Allocator + Clone> Rc<dyn Any, A>

    1.29.0 \u00b7 source

    pub fn downcast<T: Any>(self) -> Result<Rc<T, A>, Self>

    Attempt to downcast the Rc<dyn Any> to a concrete type.

    \n+
    source\u00a7

    impl<A: Allocator + Clone> Rc<dyn Any, A>

    1.29.0 \u00b7 source

    pub fn downcast<T: Any>(self) -> Result<Rc<T, A>, Self>

    Attempt to downcast the Rc<dyn Any> to a concrete type.

    \n
    \u00a7Examples
    \n
    use std::any::Any;\n use std::rc::Rc;\n \n fn print_if_string(value: Rc<dyn Any>) {\n     if let Ok(string) = value.downcast::<String>() {\n         println!(\"String ({}): {}\", string.len(), string);\n     }\n }\n \n let my_string = \"Hello World\".to_string();\n print_if_string(Rc::new(my_string));\n print_if_string(Rc::new(0i8));
    Run
    \n-
    source

    pub unsafe fn downcast_unchecked<T: Any>(self) -> Rc<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (downcast_unchecked #90850)

    Downcasts the Rc<dyn Any> to a concrete type.

    \n+
    source

    pub unsafe fn downcast_unchecked<T: Any>(self) -> Rc<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (downcast_unchecked #90850)

    Downcasts the Rc<dyn Any> to a concrete type.

    \n

    For a safe alternative see downcast.

    \n
    \u00a7Examples
    \n
    #![feature(downcast_unchecked)]\n \n use std::any::Any;\n use std::rc::Rc;\n \n@@ -743,30 +743,30 @@\n \n unsafe {\n     assert_eq!(*x.downcast_unchecked::<usize>(), 1);\n }
    Run
    \n
    \u00a7Safety
    \n

    The contained value must be of type T. Calling this method\n with the incorrect type is undefined behavior.

    \n-

    Trait Implementations\u00a7

    1.5.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> AsRef<T> for Rc<T, A>

    source\u00a7

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    source\u00a7

    impl<T: ?Sized, A: Allocator> Borrow<T> for Rc<T, A>

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T: ?Sized, A: Allocator + Clone> Clone for Rc<T, A>

    source\u00a7

    fn clone(&self) -> Self

    Makes a clone of the Rc pointer.

    \n+

    Trait Implementations\u00a7

    1.5.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> AsRef<T> for Rc<T, A>

    source\u00a7

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    source\u00a7

    impl<T: ?Sized, A: Allocator> Borrow<T> for Rc<T, A>

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T: ?Sized, A: Allocator + Clone> Clone for Rc<T, A>

    source\u00a7

    fn clone(&self) -> Self

    Makes a clone of the Rc pointer.

    \n

    This creates another pointer to the same allocation, increasing the\n strong reference count.

    \n
    \u00a7Examples
    \n
    use std::rc::Rc;\n \n let five = Rc::new(5);\n \n let _ = Rc::clone(&five);
    Run
    \n-
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<T: ?Sized + Debug, A: Allocator> Debug for Rc<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T: Default> Default for Rc<T>

    source\u00a7

    fn default() -> Rc<T>

    Creates a new Rc<T>, with the Default value for T.

    \n+
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<T: ?Sized + Debug, A: Allocator> Debug for Rc<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T: Default> Default for Rc<T>

    source\u00a7

    fn default() -> Rc<T>

    Creates a new Rc<T>, with the Default value for T.

    \n
    \u00a7Examples
    \n
    use std::rc::Rc;\n \n let x: Rc<i32> = Default::default();\n assert_eq!(*x, 0);
    Run
    \n-
    source\u00a7

    impl<T: ?Sized, A: Allocator> Deref for Rc<T, A>

    \u00a7

    type Target = T

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &T

    Dereferences the value.
    source\u00a7

    impl<T: ?Sized + Display, A: Allocator> Display for Rc<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T: ?Sized, A: Allocator> Drop for Rc<T, A>

    source\u00a7

    fn drop(&mut self)

    Drops the Rc.

    \n+
    source\u00a7

    impl<T: ?Sized, A: Allocator> Deref for Rc<T, A>

    \u00a7

    type Target = T

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &T

    Dereferences the value.
    source\u00a7

    impl<T: ?Sized + Display, A: Allocator> Display for Rc<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T: ?Sized, A: Allocator> Drop for Rc<T, A>

    source\u00a7

    fn drop(&mut self)

    Drops the Rc.

    \n

    This will decrement the strong reference count. If the strong reference\n count reaches zero then the only other references (if any) are\n Weak, so we drop the inner value.

    \n
    \u00a7Examples
    \n
    use std::rc::Rc;\n \n struct Foo;\n@@ -778,74 +778,74 @@\n }\n \n let foo  = Rc::new(Foo);\n let foo2 = Rc::clone(&foo);\n \n drop(foo);    // Doesn't print anything\n drop(foo2);   // Prints \"dropped!\"
    Run
    \n-
    1.21.0 \u00b7 source\u00a7

    impl<T: Clone> From<&[T]> for Rc<[T]>

    source\u00a7

    fn from(v: &[T]) -> Rc<[T]>

    Allocate a reference-counted slice and fill it by cloning v\u2019s items.

    \n+
    1.21.0 \u00b7 source\u00a7

    impl<T: Clone> From<&[T]> for Rc<[T]>

    source\u00a7

    fn from(v: &[T]) -> Rc<[T]>

    Allocate a reference-counted slice and fill it by cloning v\u2019s items.

    \n
    \u00a7Example
    \n
    let original: &[i32] = &[1, 2, 3];\n let shared: Rc<[i32]> = Rc::from(original);\n assert_eq!(&[1, 2, 3], &shared[..]);
    Run
    \n-
    1.24.0 \u00b7 source\u00a7

    impl From<&CStr> for Rc<CStr>

    source\u00a7

    fn from(s: &CStr) -> Rc<CStr>

    Converts a &CStr into a Rc<CStr>,\n+

    1.24.0 \u00b7 source\u00a7

    impl From<&CStr> for Rc<CStr>

    source\u00a7

    fn from(s: &CStr) -> Rc<CStr>

    Converts a &CStr into a Rc<CStr>,\n by copying the contents into a newly allocated Rc.

    \n-
    1.21.0 \u00b7 source\u00a7

    impl From<&str> for Rc<str>

    source\u00a7

    fn from(v: &str) -> Rc<str>

    Allocate a reference-counted string slice and copy v into it.

    \n+
    1.21.0 \u00b7 source\u00a7

    impl From<&str> for Rc<str>

    source\u00a7

    fn from(v: &str) -> Rc<str>

    Allocate a reference-counted string slice and copy v into it.

    \n
    \u00a7Example
    \n
    let shared: Rc<str> = Rc::from(\"statue\");\n assert_eq!(\"statue\", &shared[..]);
    Run
    \n-
    1.74.0 \u00b7 source\u00a7

    impl<T, const N: usize> From<[T; N]> for Rc<[T]>

    source\u00a7

    fn from(v: [T; N]) -> Rc<[T]>

    Converts a [T; N] into an Rc<[T]>.

    \n+
    1.74.0 \u00b7 source\u00a7

    impl<T, const N: usize> From<[T; N]> for Rc<[T]>

    source\u00a7

    fn from(v: [T; N]) -> Rc<[T]>

    Converts a [T; N] into an Rc<[T]>.

    \n

    The conversion moves the array into a newly allocated Rc.

    \n
    \u00a7Example
    \n
    let original: [i32; 3] = [1, 2, 3];\n let shared: Rc<[i32]> = Rc::from(original);\n assert_eq!(&[1, 2, 3], &shared[..]);
    Run
    \n-
    1.21.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> From<Box<T, A>> for Rc<T, A>

    source\u00a7

    fn from(v: Box<T, A>) -> Rc<T, A>

    Move a boxed object to a new, reference counted, allocation.

    \n+
    1.21.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> From<Box<T, A>> for Rc<T, A>

    source\u00a7

    fn from(v: Box<T, A>) -> Rc<T, A>

    Move a boxed object to a new, reference counted, allocation.

    \n
    \u00a7Example
    \n
    let original: Box<i32> = Box::new(1);\n let shared: Rc<i32> = Rc::from(original);\n assert_eq!(1, *shared);
    Run
    \n-
    1.24.0 \u00b7 source\u00a7

    impl From<CString> for Rc<CStr>

    source\u00a7

    fn from(s: CString) -> Rc<CStr>

    Converts a CString into an Rc<CStr> by moving the CString\n+

    1.24.0 \u00b7 source\u00a7

    impl From<CString> for Rc<CStr>

    source\u00a7

    fn from(s: CString) -> Rc<CStr>

    Converts a CString into an Rc<CStr> by moving the CString\n data into a new Rc buffer.

    \n-
    1.45.0 \u00b7 source\u00a7

    impl<'a, B> From<Cow<'a, B>> for Rc<B>
    where\n- B: ToOwned + ?Sized,\n- Rc<B>: From<&'a B> + From<B::Owned>,

    source\u00a7

    fn from(cow: Cow<'a, B>) -> Rc<B>

    Create a reference-counted pointer from\n+

    1.45.0 \u00b7 source\u00a7

    impl<'a, B> From<Cow<'a, B>> for Rc<B>
    where\n+ B: ToOwned + ?Sized,\n+ Rc<B>: From<&'a B> + From<B::Owned>,

    source\u00a7

    fn from(cow: Cow<'a, B>) -> Rc<B>

    Create a reference-counted pointer from\n a clone-on-write pointer by copying its content.

    \n
    \u00a7Example
    \n
    let cow: Cow<'_, str> = Cow::Borrowed(\"eggplant\");\n let shared: Rc<str> = Rc::from(cow);\n assert_eq!(\"eggplant\", &shared[..]);
    Run
    \n-
    source\u00a7

    impl<W: LocalWake + 'static> From<Rc<W>> for LocalWaker

    source\u00a7

    fn from(waker: Rc<W>) -> LocalWaker

    Use a Wake-able type as a LocalWaker.

    \n+
    source\u00a7

    impl<W: LocalWake + 'static> From<Rc<W>> for LocalWaker

    source\u00a7

    fn from(waker: Rc<W>) -> LocalWaker

    Use a Wake-able type as a LocalWaker.

    \n

    No heap allocations or atomic operations are used for this conversion.

    \n-
    source\u00a7

    impl<W: LocalWake + 'static> From<Rc<W>> for RawWaker

    source\u00a7

    fn from(waker: Rc<W>) -> RawWaker

    Use a Wake-able type as a RawWaker.

    \n+
    source\u00a7

    impl<W: LocalWake + 'static> From<Rc<W>> for RawWaker

    source\u00a7

    fn from(waker: Rc<W>) -> RawWaker

    Use a Wake-able type as a RawWaker.

    \n

    No heap allocations or atomic operations are used for this conversion.

    \n-
    1.62.0 \u00b7 source\u00a7

    impl From<Rc<str>> for Rc<[u8]>

    source\u00a7

    fn from(rc: Rc<str>) -> Self

    Converts a reference-counted string slice into a byte slice.

    \n+
    1.62.0 \u00b7 source\u00a7

    impl From<Rc<str>> for Rc<[u8]>

    source\u00a7

    fn from(rc: Rc<str>) -> Self

    Converts a reference-counted string slice into a byte slice.

    \n
    \u00a7Example
    \n
    let string: Rc<str> = Rc::from(\"eggplant\");\n let bytes: Rc<[u8]> = Rc::from(string);\n assert_eq!(\"eggplant\".as_bytes(), bytes.as_ref());
    Run
    \n-
    1.21.0 \u00b7 source\u00a7

    impl From<String> for Rc<str>

    source\u00a7

    fn from(v: String) -> Rc<str>

    Allocate a reference-counted string slice and copy v into it.

    \n+
    1.21.0 \u00b7 source\u00a7

    impl From<String> for Rc<str>

    source\u00a7

    fn from(v: String) -> Rc<str>

    Allocate a reference-counted string slice and copy v into it.

    \n
    \u00a7Example
    \n
    let original: String = \"statue\".to_owned();\n let shared: Rc<str> = Rc::from(original);\n assert_eq!(\"statue\", &shared[..]);
    Run
    \n-
    1.6.0 \u00b7 source\u00a7

    impl<T> From<T> for Rc<T>

    source\u00a7

    fn from(t: T) -> Self

    Converts a generic type T into an Rc<T>

    \n+
    1.6.0 \u00b7 source\u00a7

    impl<T> From<T> for Rc<T>

    source\u00a7

    fn from(t: T) -> Self

    Converts a generic type T into an Rc<T>

    \n

    The conversion allocates on the heap and moves t\n from the stack into it.

    \n
    \u00a7Example
    \n
    let x = 5;\n let rc = Rc::new(5);\n \n assert_eq!(Rc::from(x), rc);
    Run
    \n-
    1.21.0 \u00b7 source\u00a7

    impl<T, A: Allocator> From<Vec<T, A>> for Rc<[T], A>

    source\u00a7

    fn from(v: Vec<T, A>) -> Rc<[T], A>

    Allocate a reference-counted slice and move v\u2019s items into it.

    \n+
    1.21.0 \u00b7 source\u00a7

    impl<T, A: Allocator> From<Vec<T, A>> for Rc<[T], A>

    source\u00a7

    fn from(v: Vec<T, A>) -> Rc<[T], A>

    Allocate a reference-counted slice and move v\u2019s items into it.

    \n
    \u00a7Example
    \n
    let unique: Vec<i32> = vec![1, 2, 3];\n let shared: Rc<[i32]> = Rc::from(unique);\n assert_eq!(&[1, 2, 3], &shared[..]);
    Run
    \n-
    1.37.0 \u00b7 source\u00a7

    impl<T> FromIterator<T> for Rc<[T]>

    source\u00a7

    fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self

    Takes each element in the Iterator and collects it into an Rc<[T]>.

    \n+
    1.37.0 \u00b7 source\u00a7

    impl<T> FromIterator<T> for Rc<[T]>

    source\u00a7

    fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self

    Takes each element in the Iterator and collects it into an Rc<[T]>.

    \n
    \u00a7Performance characteristics
    \u00a7The general case
    \n

    In the general case, collecting into Rc<[T]> is done by first\n collecting into a Vec<T>. That is, when writing the following:

    \n \n
    let evens: Rc<[u8]> = (0..10).filter(|&x| x % 2 == 0).collect();
    Run
    \n

    this behaves as if we wrote:

    \n \n@@ -855,99 +855,99 @@\n

    This will allocate as many times as needed for constructing the Vec<T>\n and then it will allocate once for turning the Vec<T> into the Rc<[T]>.

    \n
    \u00a7Iterators of known length
    \n

    When your Iterator implements TrustedLen and is of an exact size,\n a single allocation will be made for the Rc<[T]>. For example:

    \n \n
    let evens: Rc<[u8]> = (0..10).collect(); // Just a single allocation happens here.
    Run
    \n-
    source\u00a7

    impl<T: ?Sized + Hash, A: Allocator> Hash for Rc<T, A>

    source\u00a7

    fn hash<H: Hasher>(&self, state: &mut H)

    Feeds this value into the given Hasher. Read more
    1.3.0 \u00b7 source\u00a7

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n- H: Hasher,\n- Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source\u00a7

    impl<T: ?Sized + Ord, A: Allocator> Ord for Rc<T, A>

    source\u00a7

    fn cmp(&self, other: &Rc<T, A>) -> Ordering

    Comparison for two Rcs.

    \n+
    source\u00a7

    impl<T: ?Sized + Hash, A: Allocator> Hash for Rc<T, A>

    source\u00a7

    fn hash<H: Hasher>(&self, state: &mut H)

    Feeds this value into the given Hasher. Read more
    1.3.0 \u00b7 source\u00a7

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n+ H: Hasher,\n+ Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source\u00a7

    impl<T: ?Sized + Ord, A: Allocator> Ord for Rc<T, A>

    source\u00a7

    fn cmp(&self, other: &Rc<T, A>) -> Ordering

    Comparison for two Rcs.

    \n

    The two are compared by calling cmp() on their inner values.

    \n
    \u00a7Examples
    \n
    use std::rc::Rc;\n use std::cmp::Ordering;\n \n let five = Rc::new(5);\n \n assert_eq!(Ordering::Less, five.cmp(&Rc::new(6)));
    Run
    \n-
    1.21.0 \u00b7 source\u00a7

    fn max(self, other: Self) -> Self
    where\n- Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 \u00b7 source\u00a7

    fn min(self, other: Self) -> Self
    where\n- Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 \u00b7 source\u00a7

    fn clamp(self, min: Self, max: Self) -> Self
    where\n- Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source\u00a7

    impl<T: ?Sized + PartialEq, A: Allocator> PartialEq for Rc<T, A>

    source\u00a7

    fn eq(&self, other: &Rc<T, A>) -> bool

    Equality for two Rcs.

    \n+
    1.21.0 \u00b7 source\u00a7

    fn max(self, other: Self) -> Self
    where\n+ Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 \u00b7 source\u00a7

    fn min(self, other: Self) -> Self
    where\n+ Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 \u00b7 source\u00a7

    fn clamp(self, min: Self, max: Self) -> Self
    where\n+ Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source\u00a7

    impl<T: ?Sized + PartialEq, A: Allocator> PartialEq for Rc<T, A>

    source\u00a7

    fn eq(&self, other: &Rc<T, A>) -> bool

    Equality for two Rcs.

    \n

    Two Rcs are equal if their inner values are equal, even if they are\n stored in different allocation.

    \n

    If T also implements Eq (implying reflexivity of equality),\n two Rcs that point to the same allocation are\n always equal.

    \n
    \u00a7Examples
    \n
    use std::rc::Rc;\n \n let five = Rc::new(5);\n \n assert!(five == Rc::new(5));
    Run
    \n-
    source\u00a7

    fn ne(&self, other: &Rc<T, A>) -> bool

    Inequality for two Rcs.

    \n+
    source\u00a7

    fn ne(&self, other: &Rc<T, A>) -> bool

    Inequality for two Rcs.

    \n

    Two Rcs are not equal if their inner values are not equal.

    \n

    If T also implements Eq (implying reflexivity of equality),\n two Rcs that point to the same allocation are\n always equal.

    \n
    \u00a7Examples
    \n
    use std::rc::Rc;\n \n let five = Rc::new(5);\n \n assert!(five != Rc::new(6));
    Run
    \n-
    source\u00a7

    impl<T: ?Sized + PartialOrd, A: Allocator> PartialOrd for Rc<T, A>

    source\u00a7

    fn partial_cmp(&self, other: &Rc<T, A>) -> Option<Ordering>

    Partial comparison for two Rcs.

    \n+
    source\u00a7

    impl<T: ?Sized + PartialOrd, A: Allocator> PartialOrd for Rc<T, A>

    source\u00a7

    fn partial_cmp(&self, other: &Rc<T, A>) -> Option<Ordering>

    Partial comparison for two Rcs.

    \n

    The two are compared by calling partial_cmp() on their inner values.

    \n
    \u00a7Examples
    \n
    use std::rc::Rc;\n use std::cmp::Ordering;\n \n let five = Rc::new(5);\n \n assert_eq!(Some(Ordering::Less), five.partial_cmp(&Rc::new(6)));
    Run
    \n-
    source\u00a7

    fn lt(&self, other: &Rc<T, A>) -> bool

    Less-than comparison for two Rcs.

    \n+
    source\u00a7

    fn lt(&self, other: &Rc<T, A>) -> bool

    Less-than comparison for two Rcs.

    \n

    The two are compared by calling < on their inner values.

    \n
    \u00a7Examples
    \n
    use std::rc::Rc;\n \n let five = Rc::new(5);\n \n assert!(five < Rc::new(6));
    Run
    \n-
    source\u00a7

    fn le(&self, other: &Rc<T, A>) -> bool

    \u2018Less than or equal to\u2019 comparison for two Rcs.

    \n+
    source\u00a7

    fn le(&self, other: &Rc<T, A>) -> bool

    \u2018Less than or equal to\u2019 comparison for two Rcs.

    \n

    The two are compared by calling <= on their inner values.

    \n
    \u00a7Examples
    \n
    use std::rc::Rc;\n \n let five = Rc::new(5);\n \n assert!(five <= Rc::new(5));
    Run
    \n-
    source\u00a7

    fn gt(&self, other: &Rc<T, A>) -> bool

    Greater-than comparison for two Rcs.

    \n+
    source\u00a7

    fn gt(&self, other: &Rc<T, A>) -> bool

    Greater-than comparison for two Rcs.

    \n

    The two are compared by calling > on their inner values.

    \n
    \u00a7Examples
    \n
    use std::rc::Rc;\n \n let five = Rc::new(5);\n \n assert!(five > Rc::new(4));
    Run
    \n-
    source\u00a7

    fn ge(&self, other: &Rc<T, A>) -> bool

    \u2018Greater than or equal to\u2019 comparison for two Rcs.

    \n+
    source\u00a7

    fn ge(&self, other: &Rc<T, A>) -> bool

    \u2018Greater than or equal to\u2019 comparison for two Rcs.

    \n

    The two are compared by calling >= on their inner values.

    \n
    \u00a7Examples
    \n
    use std::rc::Rc;\n \n let five = Rc::new(5);\n \n assert!(five >= Rc::new(5));
    Run
    \n-
    source\u00a7

    impl<T: ?Sized, A: Allocator> Pointer for Rc<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter.
    1.43.0 \u00b7 source\u00a7

    impl<T, const N: usize> TryFrom<Rc<[T]>> for Rc<[T; N]>

    \u00a7

    type Error = Rc<[T]>

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(boxed_slice: Rc<[T]>) -> Result<Self, Self::Error>

    Performs the conversion.
    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<Rc<U, A>> for Rc<T, A>

    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Rc<U>> for Rc<T>

    source\u00a7

    impl<T: ?Sized + Eq, A: Allocator> Eq for Rc<T, A>

    1.58.0 \u00b7 source\u00a7

    impl<T: RefUnwindSafe + ?Sized, A: Allocator + UnwindSafe> RefUnwindSafe for Rc<T, A>

    source\u00a7

    impl<T: ?Sized, A: Allocator> !Send for Rc<T, A>

    source\u00a7

    impl<T: ?Sized, A: Allocator> !Sync for Rc<T, A>

    1.33.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Unpin for Rc<T, A>

    1.9.0 \u00b7 source\u00a7

    impl<T: RefUnwindSafe + ?Sized, A: Allocator + UnwindSafe> UnwindSafe for Rc<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T: ?Sized, A> Freeze for Rc<T, A>
    where\n- A: Freeze,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<!> for T

    source\u00a7

    fn from(t: !) -> T

    Converts to this type from the input type.
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+
    source\u00a7

    impl<T: ?Sized, A: Allocator> Pointer for Rc<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter.
    1.43.0 \u00b7 source\u00a7

    impl<T, const N: usize> TryFrom<Rc<[T]>> for Rc<[T; N]>

    \u00a7

    type Error = Rc<[T]>

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(boxed_slice: Rc<[T]>) -> Result<Self, Self::Error>

    Performs the conversion.
    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<Rc<U, A>> for Rc<T, A>

    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Rc<U>> for Rc<T>

    source\u00a7

    impl<T: ?Sized + Eq, A: Allocator> Eq for Rc<T, A>

    1.58.0 \u00b7 source\u00a7

    impl<T: RefUnwindSafe + ?Sized, A: Allocator + UnwindSafe> RefUnwindSafe for Rc<T, A>

    source\u00a7

    impl<T: ?Sized, A: Allocator> !Send for Rc<T, A>

    source\u00a7

    impl<T: ?Sized, A: Allocator> !Sync for Rc<T, A>

    1.33.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Unpin for Rc<T, A>

    1.9.0 \u00b7 source\u00a7

    impl<T: RefUnwindSafe + ?Sized, A: Allocator + UnwindSafe> UnwindSafe for Rc<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T: ?Sized, A> Freeze for Rc<T, A>
    where\n+ A: Freeze,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<!> for T

    source\u00a7

    fn from(t: !) -> T

    Converts to this type from the input type.
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n- T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n+ T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/rc/struct.UniqueRc.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/rc/struct.UniqueRc.html", "unified_diff": "@@ -22,35 +22,35 @@\n });\n rc.me = UniqueRc::downgrade(&rc);\n Some(UniqueRc::into_rc(rc))\n }\n \n create_gadget().unwrap();Run\n

    An advantage of using UniqueRc over Rc::new_cyclic to build cyclic data structures is that\n-Rc::new_cyclic\u2019s data_fn parameter cannot be async or return a Result. As shown in the\n+Rc::new_cyclic\u2019s data_fn parameter cannot be async or return a Result. As shown in the\n previous example, UniqueRc allows for more flexibility in the construction of cyclic data,\n including fallible or async constructors.

    \n

    Implementations\u00a7

    source\u00a7

    impl<T> UniqueRc<T>

    source

    pub fn new(value: T) -> Self

    \ud83d\udd2cThis is a nightly-only experimental API. (unique_rc_arc #112566)

    Creates a new UniqueRc

    \n

    Weak references to this UniqueRc can be created with UniqueRc::downgrade. Upgrading\n these weak references will fail before the UniqueRc has been converted into an Rc.\n After converting the UniqueRc into an Rc, any weak references created beforehand will\n point to the new Rc.

    \n-
    source

    pub fn downgrade(this: &Self) -> Weak<T>

    \ud83d\udd2cThis is a nightly-only experimental API. (unique_rc_arc #112566)

    Creates a new weak reference to the UniqueRc

    \n+
    source

    pub fn downgrade(this: &Self) -> Weak<T>

    \ud83d\udd2cThis is a nightly-only experimental API. (unique_rc_arc #112566)

    Creates a new weak reference to the UniqueRc

    \n

    Attempting to upgrade this weak reference will fail before the UniqueRc has been converted\n to a Rc using UniqueRc::into_rc.

    \n
    source

    pub fn into_rc(this: Self) -> Rc<T>

    \ud83d\udd2cThis is a nightly-only experimental API. (unique_rc_arc #112566)

    Converts the UniqueRc into a regular Rc

    \n

    This consumes the UniqueRc and returns a regular Rc that contains the value that\n is passed to into_rc.

    \n

    Any weak references created before this method is called can now be upgraded to strong\n references.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T: Debug> Debug for UniqueRc<T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T> Deref for UniqueRc<T>

    \u00a7

    type Target = T

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &T

    Dereferences the value.
    source\u00a7

    impl<T> DerefMut for UniqueRc<T>

    source\u00a7

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    source\u00a7

    impl<T> Drop for UniqueRc<T>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T> Freeze for UniqueRc<T>

    \u00a7

    impl<T> !RefUnwindSafe for UniqueRc<T>

    \u00a7

    impl<T> !Send for UniqueRc<T>

    \u00a7

    impl<T> !Sync for UniqueRc<T>

    \u00a7

    impl<T> Unpin for UniqueRc<T>
    where\n- T: Unpin,

    \u00a7

    impl<T> !UnwindSafe for UniqueRc<T>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T: Debug> Debug for UniqueRc<T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T> Deref for UniqueRc<T>

    \u00a7

    type Target = T

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &T

    Dereferences the value.
    source\u00a7

    impl<T> DerefMut for UniqueRc<T>

    source\u00a7

    fn deref_mut(&mut self) -> &mut T

    Mutably dereferences the value.
    source\u00a7

    impl<T> Drop for UniqueRc<T>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T> Freeze for UniqueRc<T>

    \u00a7

    impl<T> !RefUnwindSafe for UniqueRc<T>

    \u00a7

    impl<T> !Send for UniqueRc<T>

    \u00a7

    impl<T> !Sync for UniqueRc<T>

    \u00a7

    impl<T> Unpin for UniqueRc<T>
    where\n+ T: Unpin,

    \u00a7

    impl<T> !UnwindSafe for UniqueRc<T>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/rc/struct.Weak.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/rc/struct.Weak.html", "unified_diff": "@@ -1,39 +1,39 @@\n Weak in alloc::rc - Rust
    \n-

    Struct alloc::rc::Weak

    1.4.0 \u00b7 source \u00b7
    pub struct Weak<T: ?Sized, A: Allocator = Global> { /* private fields */ }
    Expand description

    Weak is a version of Rc that holds a non-owning reference to the\n+

    Struct alloc::rc::Weak

    1.4.0 \u00b7 source \u00b7
    pub struct Weak<T: ?Sized, A: Allocator = Global> { /* private fields */ }
    Expand description

    Weak is a version of Rc that holds a non-owning reference to the\n managed allocation. The allocation is accessed by calling upgrade on the Weak\n-pointer, which returns an Option<Rc<T>>.

    \n+pointer, which returns an Option<Rc<T>>.

    \n

    Since a Weak reference does not count towards ownership, it will not\n prevent the value stored in the allocation from being dropped, and Weak itself makes no\n-guarantees about the value still being present. Thus it may return None\n+guarantees about the value still being present. Thus it may return None\n when upgraded. Note however that a Weak reference does prevent the allocation\n itself (the backing store) from being deallocated.

    \n

    A Weak pointer is useful for keeping a temporary reference to the allocation\n managed by Rc without preventing its inner value from being dropped. It is also used to\n prevent circular references between Rc pointers, since mutual owning references\n would never allow either Rc to be dropped. For example, a tree could\n have strong Rc pointers from parent nodes to children, and Weak\n pointers from children back to their parents.

    \n

    The typical way to obtain a Weak pointer is to call Rc::downgrade.

    \n

    Implementations\u00a7

    source\u00a7

    impl<T> Weak<T>

    1.10.0 (const: 1.73.0) \u00b7 source

    pub const fn new() -> Weak<T>

    Constructs a new Weak<T>, without allocating any memory.\n-Calling upgrade on the return value always gives None.

    \n+Calling upgrade on the return value always gives None.

    \n
    \u00a7Examples
    \n
    use std::rc::Weak;\n \n let empty: Weak<i64> = Weak::new();\n assert!(empty.upgrade().is_none());
    Run
    \n
    source\u00a7

    impl<T, A: Allocator> Weak<T, A>

    source

    pub fn new_in(alloc: A) -> Weak<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Weak<T>, without allocating any memory, technically in the provided\n allocator.\n-Calling upgrade on the return value always gives None.

    \n+Calling upgrade on the return value always gives None.

    \n
    \u00a7Examples
    \n
    use std::rc::Weak;\n \n let empty: Weak<i64> = Weak::new();\n assert!(empty.upgrade().is_none());
    Run
    \n-
    source\u00a7

    impl<T: ?Sized> Weak<T>

    1.45.0 \u00b7 source

    pub unsafe fn from_raw(ptr: *const T) -> Self

    Converts a raw pointer previously created by into_raw back into Weak<T>.

    \n+
    source\u00a7

    impl<T: ?Sized> Weak<T>

    1.45.0 \u00b7 source

    pub unsafe fn from_raw(ptr: *const T) -> Self

    Converts a raw pointer previously created by into_raw back into Weak<T>.

    \n

    This can be used to safely get a strong reference (by calling upgrade\n later) or to deallocate the weak count by dropping the Weak<T>.

    \n

    It takes ownership of one weak reference (with the exception of pointers created by new,\n as these don\u2019t own anything; the method still works on them).

    \n
    \u00a7Safety
    \n

    The pointer must have originated from the into_raw and must still own its potential\n weak reference, and ptr must point to a block of memory allocated by the global allocator.

    \n@@ -54,17 +54,17 @@\n assert_eq!(\"hello\", &*unsafe { Weak::from_raw(raw_1) }.upgrade().unwrap());\n assert_eq!(1, Rc::weak_count(&strong));\n \n drop(strong);\n \n // Decrement the last weak count.\n assert!(unsafe { Weak::from_raw(raw_2) }.upgrade().is_none());Run
    \n-
    source\u00a7

    impl<T: ?Sized, A: Allocator> Weak<T, A>

    1.45.0 \u00b7 source

    pub fn as_ptr(&self) -> *const T

    Returns a raw pointer to the object T pointed to by this Weak<T>.

    \n+
    source\u00a7

    impl<T: ?Sized, A: Allocator> Weak<T, A>

    1.45.0 \u00b7 source

    pub fn as_ptr(&self) -> *const T

    Returns a raw pointer to the object T pointed to by this Weak<T>.

    \n

    The pointer is valid only if there are some strong references. The pointer may be dangling,\n-unaligned or even null otherwise.

    \n+unaligned or even null otherwise.

    \n
    \u00a7Examples
    \n
    use std::rc::Rc;\n use std::ptr;\n \n let strong = Rc::new(\"hello\".to_owned());\n let weak = Rc::downgrade(&strong);\n // Both point to the same object\n@@ -72,15 +72,15 @@\n // The strong here keeps it alive, so we can still access the object.\n assert_eq!(\"hello\", unsafe { &*weak.as_ptr() });\n \n drop(strong);\n // But not any more. We can do weak.as_ptr(), but accessing the pointer would lead to\n // undefined behaviour.\n // assert_eq!(\"hello\", unsafe { &*weak.as_ptr() });
    Run
    \n-
    1.45.0 \u00b7 source

    pub fn into_raw(self) -> *const T

    Consumes the Weak<T> and turns it into a raw pointer.

    \n+
    1.45.0 \u00b7 source

    pub fn into_raw(self) -> *const T

    Consumes the Weak<T> and turns it into a raw pointer.

    \n

    This converts the weak pointer into a raw pointer, while still preserving the ownership of\n one weak reference (the weak count is not modified by this operation). It can be turned\n back into the Weak<T> with from_raw.

    \n

    The same restrictions of accessing the target of the pointer as with\n as_ptr apply.

    \n
    \u00a7Examples
    \n
    use std::rc::{Rc, Weak};\n@@ -90,16 +90,16 @@\n let raw = weak.into_raw();\n \n assert_eq!(1, Rc::weak_count(&strong));\n assert_eq!(\"hello\", unsafe { &*raw });\n \n drop(unsafe { Weak::from_raw(raw) });\n assert_eq!(0, Rc::weak_count(&strong));
    Run
    \n-
    source

    pub fn into_raw_and_alloc(self) -> (*const T, A)
    where\n- A: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Consumes the Weak<T> and turns it into a raw pointer.

    \n+
    source

    pub fn into_raw_and_alloc(self) -> (*const T, A)
    where\n+ A: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Consumes the Weak<T> and turns it into a raw pointer.

    \n

    This converts the weak pointer into a raw pointer, while still preserving the ownership of\n one weak reference (the weak count is not modified by this operation). It can be turned\n back into the Weak<T> with from_raw.

    \n

    The same restrictions of accessing the target of the pointer as with\n as_ptr apply.

    \n
    \u00a7Examples
    \n
    use std::rc::{Rc, Weak};\n@@ -109,15 +109,15 @@\n let raw = weak.into_raw();\n \n assert_eq!(1, Rc::weak_count(&strong));\n assert_eq!(\"hello\", unsafe { &*raw });\n \n drop(unsafe { Weak::from_raw(raw) });\n assert_eq!(0, Rc::weak_count(&strong));
    Run
    \n-
    source

    pub unsafe fn from_raw_in(ptr: *const T, alloc: A) -> Self

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Converts a raw pointer previously created by into_raw back into Weak<T>.

    \n+
    source

    pub unsafe fn from_raw_in(ptr: *const T, alloc: A) -> Self

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Converts a raw pointer previously created by into_raw back into Weak<T>.

    \n

    This can be used to safely get a strong reference (by calling upgrade\n later) or to deallocate the weak count by dropping the Weak<T>.

    \n

    It takes ownership of one weak reference (with the exception of pointers created by new,\n as these don\u2019t own anything; the method still works on them).

    \n
    \u00a7Safety
    \n

    The pointer must have originated from the into_raw and must still own its potential\n weak reference, and ptr must point to a block of memory allocated by alloc.

    \n@@ -138,18 +138,18 @@\n assert_eq!(\"hello\", &*unsafe { Weak::from_raw(raw_1) }.upgrade().unwrap());\n assert_eq!(1, Rc::weak_count(&strong));\n \n drop(strong);\n \n // Decrement the last weak count.\n assert!(unsafe { Weak::from_raw(raw_2) }.upgrade().is_none());Run
    \n-
    source

    pub fn upgrade(&self) -> Option<Rc<T, A>>
    where\n- A: Clone,

    Attempts to upgrade the Weak pointer to an Rc, delaying\n+

    source

    pub fn upgrade(&self) -> Option<Rc<T, A>>
    where\n+ A: Clone,

    Attempts to upgrade the Weak pointer to an Rc, delaying\n dropping of the inner value if successful.

    \n-

    Returns None if the inner value has since been dropped.

    \n+

    Returns None if the inner value has since been dropped.

    \n
    \u00a7Examples
    \n
    use std::rc::Rc;\n \n let five = Rc::new(5);\n \n let weak_five = Rc::downgrade(&five);\n \n@@ -157,19 +157,19 @@\n assert!(strong_five.is_some());\n \n // Destroy all strong pointers.\n drop(strong_five);\n drop(five);\n \n assert!(weak_five.upgrade().is_none());
    Run
    \n-
    1.41.0 \u00b7 source

    pub fn strong_count(&self) -> usize

    Gets the number of strong (Rc) pointers pointing to this allocation.

    \n+
    1.41.0 \u00b7 source

    pub fn strong_count(&self) -> usize

    Gets the number of strong (Rc) pointers pointing to this allocation.

    \n

    If self was created using Weak::new, this will return 0.

    \n-
    1.41.0 \u00b7 source

    pub fn weak_count(&self) -> usize

    Gets the number of Weak pointers pointing to this allocation.

    \n+
    1.41.0 \u00b7 source

    pub fn weak_count(&self) -> usize

    Gets the number of Weak pointers pointing to this allocation.

    \n

    If no strong pointers remain, this will return zero.

    \n-
    1.39.0 \u00b7 source

    pub fn ptr_eq(&self, other: &Self) -> bool

    Returns true if the two Weaks point to the same allocation similar to ptr::eq, or if\n+

    1.39.0 \u00b7 source

    pub fn ptr_eq(&self, other: &Self) -> bool

    Returns true if the two Weaks point to the same allocation similar to ptr::eq, or if\n both don\u2019t point to any allocation (because they were created with Weak::new()). However,\n this function ignores the metadata of dyn Trait pointers.

    \n
    \u00a7Notes
    \n

    Since this compares pointers it means that Weak::new() will equal each\n other, even though they don\u2019t point to any allocation.

    \n
    \u00a7Examples
    \n
    use std::rc::Rc;\n@@ -191,29 +191,29 @@\n let first = Weak::new();\n let second = Weak::new();\n assert!(first.ptr_eq(&second));\n \n let third_rc = Rc::new(());\n let third = Rc::downgrade(&third_rc);\n assert!(!first.ptr_eq(&third));
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T: ?Sized, A: Allocator + Clone> Clone for Weak<T, A>

    source\u00a7

    fn clone(&self) -> Weak<T, A>

    Makes a clone of the Weak pointer that points to the same allocation.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T: ?Sized, A: Allocator + Clone> Clone for Weak<T, A>

    source\u00a7

    fn clone(&self) -> Weak<T, A>

    Makes a clone of the Weak pointer that points to the same allocation.

    \n
    \u00a7Examples
    \n
    use std::rc::{Rc, Weak};\n \n let weak_five = Rc::downgrade(&Rc::new(5));\n \n let _ = Weak::clone(&weak_five);
    Run
    \n-
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<T: ?Sized, A: Allocator> Debug for Weak<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.10.0 \u00b7 source\u00a7

    impl<T> Default for Weak<T>

    source\u00a7

    fn default() -> Weak<T>

    Constructs a new Weak<T>, without allocating any memory.\n-Calling upgrade on the return value always gives None.

    \n+
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<T: ?Sized, A: Allocator> Debug for Weak<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.10.0 \u00b7 source\u00a7

    impl<T> Default for Weak<T>

    source\u00a7

    fn default() -> Weak<T>

    Constructs a new Weak<T>, without allocating any memory.\n+Calling upgrade on the return value always gives None.

    \n
    \u00a7Examples
    \n
    use std::rc::Weak;\n \n let empty: Weak<i64> = Default::default();\n assert!(empty.upgrade().is_none());
    Run
    \n-
    source\u00a7

    impl<T: ?Sized, A: Allocator> Drop for Weak<T, A>

    source\u00a7

    fn drop(&mut self)

    Drops the Weak pointer.

    \n+
    source\u00a7

    impl<T: ?Sized, A: Allocator> Drop for Weak<T, A>

    source\u00a7

    fn drop(&mut self)

    Drops the Weak pointer.

    \n
    \u00a7Examples
    \n
    use std::rc::{Rc, Weak};\n \n struct Foo;\n \n impl Drop for Foo {\n     fn drop(&mut self) {\n@@ -225,21 +225,21 @@\n let weak_foo = Rc::downgrade(&foo);\n let other_weak_foo = Weak::clone(&weak_foo);\n \n drop(weak_foo);   // Doesn't print anything\n drop(foo);        // Prints \"dropped!\"\n \n assert!(other_weak_foo.upgrade().is_none());
    Run
    \n-
    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<Weak<U, A>> for Weak<T, A>

    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Weak<U>> for Weak<T>

    source\u00a7

    impl<T: ?Sized, A: Allocator> !Send for Weak<T, A>

    source\u00a7

    impl<T: ?Sized, A: Allocator> !Sync for Weak<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T: ?Sized, A> Freeze for Weak<T, A>
    where\n- A: Freeze,

    \u00a7

    impl<T, A = Global> !RefUnwindSafe for Weak<T, A>

    \u00a7

    impl<T: ?Sized, A> Unpin for Weak<T, A>
    where\n- A: Unpin,

    \u00a7

    impl<T, A = Global> !UnwindSafe for Weak<T, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+
    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<Weak<U, A>> for Weak<T, A>

    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Weak<U>> for Weak<T>

    source\u00a7

    impl<T: ?Sized, A: Allocator> !Send for Weak<T, A>

    source\u00a7

    impl<T: ?Sized, A: Allocator> !Sync for Weak<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T: ?Sized, A> Freeze for Weak<T, A>
    where\n+ A: Freeze,

    \u00a7

    impl<T, A = Global> !RefUnwindSafe for Weak<T, A>

    \u00a7

    impl<T: ?Sized, A> Unpin for Weak<T, A>
    where\n+ A: Unpin,

    \u00a7

    impl<T, A = Global> !UnwindSafe for Weak<T, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/fn.from_mut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/fn.from_mut.html", "unified_diff": "@@ -1,3 +1,3 @@\n from_mut in alloc::slice - Rust
    \n-

    Function alloc::slice::from_mut

    1.28.0 (const: unstable) \u00b7 source \u00b7
    pub fn from_mut<T>(s: &mut T) -> &mut [T]
    Expand description

    Converts a reference to T into a slice of length 1 (without copying).

    \n+

    Function alloc::slice::from_mut

    1.28.0 (const: unstable) \u00b7 source \u00b7
    pub fn from_mut<T>(s: &mut T) -> &mut [T]
    Expand description

    Converts a reference to T into a slice of length 1 (without copying).

    \n
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/fn.from_mut_ptr_range.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/fn.from_mut_ptr_range.html", "unified_diff": "@@ -1,23 +1,23 @@\n from_mut_ptr_range in alloc::slice - Rust
    \n-

    Function alloc::slice::from_mut_ptr_range

    const: unstable \u00b7 source \u00b7
    pub unsafe fn from_mut_ptr_range<'a, T>(range: Range<*mut T>) -> &'a mut [T]
    \ud83d\udd2cThis is a nightly-only experimental API. (slice_from_ptr_range #89792)
    Expand description

    Forms a mutable slice from a pointer range.

    \n+

    Function alloc::slice::from_mut_ptr_range

    const: unstable \u00b7 source \u00b7
    pub unsafe fn from_mut_ptr_range<'a, T>(range: Range<*mut T>) -> &'a mut [T]
    \ud83d\udd2cThis is a nightly-only experimental API. (slice_from_ptr_range #89792)
    Expand description

    Forms a mutable slice from a pointer range.

    \n

    This is the same functionality as from_ptr_range, except that a\n mutable slice is returned.

    \n

    This function is useful for interacting with foreign interfaces which\n use two pointers to refer to a range of elements in memory, as is\n common in C++.

    \n

    \u00a7Safety

    \n

    Behavior is undefined if any of the following conditions are violated:

    \n
      \n
    • \n-

      The start pointer of the range must be a valid and properly aligned pointer\n+

      The start pointer of the range must be a valid and properly aligned pointer\n to the first element of a slice.

      \n
    • \n
    • \n-

      The end pointer must be a valid and properly aligned pointer to one past\n+

      The end pointer must be a valid and properly aligned pointer to one past\n the last element, such that the offset from the end to the start pointer is\n the length of the slice.

      \n
    • \n
    • \n

      The entire memory range of this slice must be contained within a single allocated object!\n Slices can never span across multiple allocated objects.

      \n
    • \n@@ -28,18 +28,18 @@\n

      The memory referenced by the returned slice must not be accessed through any other pointer\n (not derived from the return value) for the duration of lifetime 'a.\n Both read and write accesses are forbidden.

      \n \n
    • \n

      The total length of the range must be no larger than isize::MAX,\n and adding that size to data must not \u201cwrap around\u201d the address space.\n-See the safety documentation of pointer::offset.

      \n+See the safety documentation of pointer::offset.

      \n
    • \n
    \n-

    Note that a range created from slice::as_mut_ptr_range fulfills these requirements.

    \n+

    Note that a range created from slice::as_mut_ptr_range fulfills these requirements.

    \n

    \u00a7Panics

    \n

    This function panics if T is a Zero-Sized Type (\u201cZST\u201d).

    \n

    \u00a7Caveat

    \n

    The lifetime for the returned slice is inferred from its usage. To\n prevent accidental misuse, it\u2019s suggested to tie the lifetime to whichever\n source lifetime is safe in the context, such as by providing a helper\n function taking the lifetime of a host value for the slice, or by explicit\n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/fn.from_ptr_range.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/fn.from_ptr_range.html", "unified_diff": "@@ -1,21 +1,21 @@\n from_ptr_range in alloc::slice - Rust

    \n-

    Function alloc::slice::from_ptr_range

    const: unstable \u00b7 source \u00b7
    pub unsafe fn from_ptr_range<'a, T>(range: Range<*const T>) -> &'a [T]
    \ud83d\udd2cThis is a nightly-only experimental API. (slice_from_ptr_range #89792)
    Expand description

    Forms a slice from a pointer range.

    \n+

    Function alloc::slice::from_ptr_range

    const: unstable \u00b7 source \u00b7
    pub unsafe fn from_ptr_range<'a, T>(range: Range<*const T>) -> &'a [T]
    \ud83d\udd2cThis is a nightly-only experimental API. (slice_from_ptr_range #89792)
    Expand description

    Forms a slice from a pointer range.

    \n

    This function is useful for interacting with foreign interfaces which\n use two pointers to refer to a range of elements in memory, as is\n common in C++.

    \n

    \u00a7Safety

    \n

    Behavior is undefined if any of the following conditions are violated:

    \n
      \n
    • \n-

      The start pointer of the range must be a valid and properly aligned pointer\n+

      The start pointer of the range must be a valid and properly aligned pointer\n to the first element of a slice.

      \n
    • \n
    • \n-

      The end pointer must be a valid and properly aligned pointer to one past\n+

      The end pointer must be a valid and properly aligned pointer to one past\n the last element, such that the offset from the end to the start pointer is\n the length of the slice.

      \n
    • \n
    • \n

      The entire memory range of this slice must be contained within a single allocated object!\n Slices can never span across multiple allocated objects.

      \n
    • \n@@ -25,18 +25,18 @@\n
    • \n

      The memory referenced by the returned slice must not be mutated for the duration\n of lifetime 'a, except inside an UnsafeCell.

      \n
    • \n
    • \n

      The total length of the range must be no larger than isize::MAX,\n and adding that size to data must not \u201cwrap around\u201d the address space.\n-See the safety documentation of pointer::offset.

      \n+See the safety documentation of pointer::offset.

      \n
    • \n
    \n-

    Note that a range created from slice::as_ptr_range fulfills these requirements.

    \n+

    Note that a range created from slice::as_ptr_range fulfills these requirements.

    \n

    \u00a7Panics

    \n

    This function panics if T is a Zero-Sized Type (\u201cZST\u201d).

    \n

    \u00a7Caveat

    \n

    The lifetime for the returned slice is inferred from its usage. To\n prevent accidental misuse, it\u2019s suggested to tie the lifetime to whichever\n source lifetime is safe in the context, such as by providing a helper\n function taking the lifetime of a host value for the slice, or by explicit\n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/fn.from_raw_parts.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/fn.from_raw_parts.html", "unified_diff": "@@ -1,38 +1,38 @@\n from_raw_parts in alloc::slice - Rust

    \n-

    Function alloc::slice::from_raw_parts

    1.0.0 (const: 1.64.0) \u00b7 source \u00b7
    pub const unsafe fn from_raw_parts<'a, T>(data: *const T, len: usize) -> &'a [T]
    Expand description

    Forms a slice from a pointer and a length.

    \n+

    Function alloc::slice::from_raw_parts

    1.0.0 (const: 1.64.0) \u00b7 source \u00b7
    pub const unsafe fn from_raw_parts<'a, T>(data: *const T, len: usize) -> &'a [T]
    Expand description

    Forms a slice from a pointer and a length.

    \n

    The len argument is the number of elements, not the number of bytes.

    \n

    \u00a7Safety

    \n

    Behavior is undefined if any of the following conditions are violated:

    \n
      \n
    • \n-

      data must be valid for reads for len * mem::size_of::<T>() many bytes,\n+

      data must be valid for reads for len * mem::size_of::<T>() many bytes,\n and it must be properly aligned. This means in particular:

      \n
        \n
      • The entire memory range of this slice must be contained within a single allocated object!\n Slices can never span across multiple allocated objects. See below\n for an example incorrectly not taking this into account.
      • \n
      • data must be non-null and aligned even for zero-length slices. One\n reason for this is that enum layout optimizations may rely on references\n (including slices of any length) being aligned and non-null to distinguish\n them from other data. You can obtain a pointer that is usable as data\n-for zero-length slices using NonNull::dangling().
      • \n+for zero-length slices using NonNull::dangling().\n
      \n
    • \n
    • \n

      data must point to len consecutive properly initialized values of type T.

      \n
    • \n
    • \n

      The memory referenced by the returned slice must not be mutated for the duration\n of lifetime 'a, except inside an UnsafeCell.

      \n
    • \n
    • \n

      The total size len * mem::size_of::<T>() of the slice must be no larger than isize::MAX,\n and adding that size to data must not \u201cwrap around\u201d the address space.\n-See the safety documentation of pointer::offset.

      \n+See the safety documentation of pointer::offset.

      \n
    • \n
    \n

    \u00a7Caveat

    \n

    The lifetime for the returned slice is inferred from its usage. To\n prevent accidental misuse, it\u2019s suggested to tie the lifetime to whichever\n source lifetime is safe in the context, such as by providing a helper\n function taking the lifetime of a host value for the slice, or by explicit\n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/fn.from_raw_parts_mut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/fn.from_raw_parts_mut.html", "unified_diff": "@@ -1,34 +1,34 @@\n from_raw_parts_mut in alloc::slice - Rust

    \n-

    Function alloc::slice::from_raw_parts_mut

    1.0.0 (const: unstable) \u00b7 source \u00b7
    pub unsafe fn from_raw_parts_mut<'a, T>(data: *mut T, len: usize) -> &'a mut [T]
    Expand description

    Performs the same functionality as from_raw_parts, except that a\n+

    Function alloc::slice::from_raw_parts_mut

    1.0.0 (const: unstable) \u00b7 source \u00b7
    pub unsafe fn from_raw_parts_mut<'a, T>(data: *mut T, len: usize) -> &'a mut [T]
    Expand description

    Performs the same functionality as from_raw_parts, except that a\n mutable slice is returned.

    \n

    \u00a7Safety

    \n

    Behavior is undefined if any of the following conditions are violated:

    \n
      \n
    • \n-

      data must be valid for both reads and writes for len * mem::size_of::<T>() many bytes,\n+

      data must be valid for both reads and writes for len * mem::size_of::<T>() many bytes,\n and it must be properly aligned. This means in particular:

      \n
        \n
      • The entire memory range of this slice must be contained within a single allocated object!\n Slices can never span across multiple allocated objects.
      • \n
      • data must be non-null and aligned even for zero-length slices. One\n reason for this is that enum layout optimizations may rely on references\n (including slices of any length) being aligned and non-null to distinguish\n them from other data. You can obtain a pointer that is usable as data\n-for zero-length slices using NonNull::dangling().
      • \n+for zero-length slices using NonNull::dangling().\n
      \n
    • \n
    • \n

      data must point to len consecutive properly initialized values of type T.

      \n
    • \n
    • \n

      The memory referenced by the returned slice must not be accessed through any other pointer\n (not derived from the return value) for the duration of lifetime 'a.\n Both read and write accesses are forbidden.

      \n
    • \n
    • \n

      The total size len * mem::size_of::<T>() of the slice must be no larger than isize::MAX,\n and adding that size to data must not \u201cwrap around\u201d the address space.\n-See the safety documentation of pointer::offset.

      \n+See the safety documentation of pointer::offset.

      \n
    • \n
    \n
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/fn.from_ref.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/fn.from_ref.html", "unified_diff": "@@ -1,3 +1,3 @@\n from_ref in alloc::slice - Rust
    \n-

    Function alloc::slice::from_ref

    1.28.0 (const: 1.63.0) \u00b7 source \u00b7
    pub const fn from_ref<T>(s: &T) -> &[T]
    Expand description

    Converts a reference to T into a slice of length 1 (without copying).

    \n+

    Function alloc::slice::from_ref

    1.28.0 (const: 1.63.0) \u00b7 source \u00b7
    pub const fn from_ref<T>(s: &T) -> &[T]
    Expand description

    Converts a reference to T into a slice of length 1 (without copying).

    \n
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/fn.range.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/fn.range.html", "unified_diff": "@@ -1,29 +1,29 @@\n range in alloc::slice - Rust
    \n-

    Function alloc::slice::range

    source \u00b7
    pub fn range<R>(range: R, bounds: RangeTo<usize>) -> Range<usize>
    where\n- R: RangeBounds<usize>,
    \ud83d\udd2cThis is a nightly-only experimental API. (slice_range #76393)
    Expand description

    Performs bounds-checking of a range.

    \n-

    This method is similar to Index::index for slices, but it returns a\n-Range equivalent to range. You can use this method to turn any range\n+

    Function alloc::slice::range

    source \u00b7
    pub fn range<R>(range: R, bounds: RangeTo<usize>) -> Range<usize>
    where\n+ R: RangeBounds<usize>,
    \ud83d\udd2cThis is a nightly-only experimental API. (slice_range #76393)
    Expand description

    Performs bounds-checking of a range.

    \n+

    This method is similar to Index::index for slices, but it returns a\n+Range equivalent to range. You can use this method to turn any range\n into start and end values.

    \n

    bounds is the range of the slice to use for bounds-checking. It should\n-be a RangeTo range that ends at the length of the slice.

    \n-

    The returned Range is safe to pass to slice::get_unchecked and\n-slice::get_unchecked_mut for slices with the given range.

    \n+be a RangeTo range that ends at the length of the slice.

    \n+

    The returned Range is safe to pass to slice::get_unchecked and\n+slice::get_unchecked_mut for slices with the given range.

    \n

    \u00a7Panics

    \n

    Panics if range would be out of bounds.

    \n

    \u00a7Examples

    \n
    #![feature(slice_range)]\n \n use std::slice;\n \n let v = [10, 40, 30];\n assert_eq!(1..2, slice::range(1..2, ..v.len()));\n assert_eq!(0..2, slice::range(..2, ..v.len()));\n assert_eq!(1..3, slice::range(1.., ..v.len()));
    Run
    \n-

    Panics when Index::index would panic:

    \n+

    Panics when Index::index would panic:

    \n \n
    \u24d8
    #![feature(slice_range)]\n \n use std::slice;\n \n let _ = slice::range(2..1, ..3);
    Run
    \n \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/fn.try_range.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/fn.try_range.html", "unified_diff": "@@ -1,21 +1,21 @@\n try_range in alloc::slice - Rust
    \n-

    Function alloc::slice::try_range

    source \u00b7
    pub fn try_range<R>(range: R, bounds: RangeTo<usize>) -> Option<Range<usize>>
    where\n- R: RangeBounds<usize>,
    \ud83d\udd2cThis is a nightly-only experimental API. (slice_range #76393)
    Expand description

    Performs bounds-checking of a range without panicking.

    \n-

    This is a version of range that returns None instead of panicking.

    \n+

    Function alloc::slice::try_range

    source \u00b7
    pub fn try_range<R>(range: R, bounds: RangeTo<usize>) -> Option<Range<usize>>
    where\n+ R: RangeBounds<usize>,
    \ud83d\udd2cThis is a nightly-only experimental API. (slice_range #76393)
    Expand description

    Performs bounds-checking of a range without panicking.

    \n+

    This is a version of range that returns None instead of panicking.

    \n

    \u00a7Examples

    \n
    #![feature(slice_range)]\n \n use std::slice;\n \n let v = [10, 40, 30];\n assert_eq!(Some(1..2), slice::try_range(1..2, ..v.len()));\n assert_eq!(Some(0..2), slice::try_range(..2, ..v.len()));\n assert_eq!(Some(1..3), slice::try_range(1.., ..v.len()));
    Run
    \n-

    Returns None when Index::index would panic:

    \n+

    Returns None when Index::index would panic:

    \n \n
    #![feature(slice_range)]\n \n use std::slice;\n \n assert_eq!(None, slice::try_range(2..1, ..3));\n assert_eq!(None, slice::try_range(1..4, ..3));\n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/index.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/index.html", "unified_diff": "@@ -1,10 +1,10 @@\n alloc::slice - Rust
    \n

    Module alloc::slice

    1.0.0 \u00b7 source \u00b7
    Expand description

    Utilities for the slice primitive type.

    \n-

    See also the slice primitive type.

    \n+

    See also the slice primitive type.

    \n

    Most of the structs in this module are iterator types which can only be created\n using a certain function. For example, slice.iter() yields an Iter.

    \n

    A few functions are provided to create a slice from a value reference\n or from a raw pointer.

    \n

    Structs\u00a7

    • An iterator over slice in (non-overlapping) chunks separated by a predicate.
    • An iterator over slice in (non-overlapping) mutable chunks separated\n by a predicate.
    • An iterator over a slice in (non-overlapping) chunks (chunk_size elements at a\n time), starting at the beginning of the slice.
    • An iterator over a slice in (non-overlapping) chunks (chunk_size elements at a\n@@ -27,9 +27,9 @@\n by elements that match pred. Unlike SplitMut, it contains the matched\n parts in the ends of the subslices.
    • An iterator over the mutable subslices of the vector which are separated\n by elements that match pred.
    • An iterator over subslices separated by elements that match a predicate\n function, limited to a given number of splits.
    • An iterator over subslices separated by elements that match a predicate\n function, limited to a given number of splits.
    • An iterator over overlapping subslices of length size.
    • ArrayChunksExperimental
      An iterator over a slice in (non-overlapping) chunks (N elements at a\n time), starting at the beginning of the slice.
    • ArrayChunksMutExperimental
      An iterator over a slice in (non-overlapping) mutable chunks (N elements\n at a time), starting at the beginning of the slice.
    • ArrayWindowsExperimental
      A windowed iterator over a slice in overlapping chunks (N elements at a\n-time), starting at the beginning of the slice

    Traits\u00a7

    Functions\u00a7

    • Converts a reference to T into a slice of length 1 (without copying).
    • Forms a slice from a pointer and a length.
    • Performs the same functionality as from_raw_parts, except that a\n+time), starting at the beginning of the slice

    Traits\u00a7

    Functions\u00a7

    • Converts a reference to T into a slice of length 1 (without copying).
    • Forms a slice from a pointer and a length.
    • Performs the same functionality as from_raw_parts, except that a\n mutable slice is returned.
    • Converts a reference to T into a slice of length 1 (without copying).
    • from_mut_ptr_range\u26a0Experimental
      Forms a mutable slice from a pointer range.
    • from_ptr_range\u26a0Experimental
      Forms a slice from a pointer range.
    • rangeExperimental
      Performs bounds-checking of a range.
    • try_rangeExperimental
      Performs bounds-checking of a range without panicking.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ArrayChunks.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ArrayChunks.html", "unified_diff": "@@ -1,231 +1,231 @@\n ArrayChunks in alloc::slice - Rust
    \n-

    Struct alloc::slice::ArrayChunks

    source \u00b7
    pub struct ArrayChunks<'a, T, const N: usize>
    where\n+

    Struct alloc::slice::ArrayChunks

    source \u00b7
    pub struct ArrayChunks<'a, T, const N: usize>
    where\n T: 'a,
    { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (array_chunks #74985)
    Expand description

    An iterator over a slice in (non-overlapping) chunks (N elements at a\n time), starting at the beginning of the slice.

    \n

    When the slice len is not evenly divided by the chunk size, the last\n up to N-1 elements will be omitted but can be retrieved from\n the remainder function from the iterator.

    \n-

    This struct is created by the array_chunks method on slices.

    \n+

    This struct is created by the array_chunks method on slices.

    \n

    \u00a7Example

    \n
    #![feature(array_chunks)]\n \n let slice = ['l', 'o', 'r', 'e', 'm'];\n let iter = slice.array_chunks::<2>();
    Run
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, T, const N: usize> ArrayChunks<'a, T, N>

    source

    pub fn remainder(&self) -> &'a [T]

    \ud83d\udd2cThis is a nightly-only experimental API. (array_chunks #74985)

    Returns the remainder of the original slice that is not going to be\n+

    Implementations\u00a7

    source\u00a7

    impl<'a, T, const N: usize> ArrayChunks<'a, T, N>

    source

    pub fn remainder(&self) -> &'a [T]

    \ud83d\udd2cThis is a nightly-only experimental API. (array_chunks #74985)

    Returns the remainder of the original slice that is not going to be\n returned by the iterator. The returned slice has at most N-1\n elements.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T, const N: usize> Clone for ArrayChunks<'_, T, N>

    source\u00a7

    fn clone(&self) -> ArrayChunks<'_, T, N> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, T, const N: usize> Debug for ArrayChunks<'a, T, N>
    where\n- T: Debug + 'a,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, const N: usize> DoubleEndedIterator for ArrayChunks<'a, T, N>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a [T; N]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T, const N: usize> Clone for ArrayChunks<'_, T, N>

    source\u00a7

    fn clone(&self) -> ArrayChunks<'_, T, N> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, T, const N: usize> Debug for ArrayChunks<'a, T, N>
    where\n+ T: Debug + 'a,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, const N: usize> DoubleEndedIterator for ArrayChunks<'a, T, N>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a [T; N]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(\n &mut self,\n- n: usize\n-) -> Option<<ArrayChunks<'a, T, N> as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T, const N: usize> ExactSizeIterator for ArrayChunks<'_, T, N>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<'a, T, const N: usize> Iterator for ArrayChunks<'a, T, N>

    \u00a7

    type Item = &'a [T; N]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a [T; N]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<<ArrayChunks<'a, T, N> as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<ArrayChunks<'a, T, N> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ n: usize\n+) -> Option<<ArrayChunks<'a, T, N> as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T, const N: usize> ExactSizeIterator for ArrayChunks<'_, T, N>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<'a, T, const N: usize> Iterator for ArrayChunks<'a, T, N>

    \u00a7

    type Item = &'a [T; N]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a [T; N]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<<ArrayChunks<'a, T, N> as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<ArrayChunks<'a, T, N> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<T, const N: usize> FusedIterator for ArrayChunks<'_, T, N>

    source\u00a7

    impl<T, const N: usize> TrustedLen for ArrayChunks<'_, T, N>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, const N: usize> Freeze for ArrayChunks<'a, T, N>

    \u00a7

    impl<'a, T, const N: usize> RefUnwindSafe for ArrayChunks<'a, T, N>
    where\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, const N: usize> Send for ArrayChunks<'a, T, N>
    where\n- T: Sync,

    \u00a7

    impl<'a, T, const N: usize> Sync for ArrayChunks<'a, T, N>
    where\n- T: Sync,

    \u00a7

    impl<'a, T, const N: usize> Unpin for ArrayChunks<'a, T, N>

    \u00a7

    impl<'a, T, const N: usize> UnwindSafe for ArrayChunks<'a, T, N>
    where\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<T, const N: usize> FusedIterator for ArrayChunks<'_, T, N>

    source\u00a7

    impl<T, const N: usize> TrustedLen for ArrayChunks<'_, T, N>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, const N: usize> Freeze for ArrayChunks<'a, T, N>

    \u00a7

    impl<'a, T, const N: usize> RefUnwindSafe for ArrayChunks<'a, T, N>
    where\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, const N: usize> Send for ArrayChunks<'a, T, N>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T, const N: usize> Sync for ArrayChunks<'a, T, N>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T, const N: usize> Unpin for ArrayChunks<'a, T, N>

    \u00a7

    impl<'a, T, const N: usize> UnwindSafe for ArrayChunks<'a, T, N>
    where\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ArrayChunksMut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ArrayChunksMut.html", "unified_diff": "@@ -1,231 +1,231 @@\n ArrayChunksMut in alloc::slice - Rust
    \n-

    Struct alloc::slice::ArrayChunksMut

    source \u00b7
    pub struct ArrayChunksMut<'a, T, const N: usize>
    where\n+

    Struct alloc::slice::ArrayChunksMut

    source \u00b7
    pub struct ArrayChunksMut<'a, T, const N: usize>
    where\n T: 'a,
    { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (array_chunks #74985)
    Expand description

    An iterator over a slice in (non-overlapping) mutable chunks (N elements\n at a time), starting at the beginning of the slice.

    \n

    When the slice len is not evenly divided by the chunk size, the last\n up to N-1 elements will be omitted but can be retrieved from\n the into_remainder function from the iterator.

    \n-

    This struct is created by the array_chunks_mut method on slices.

    \n+

    This struct is created by the array_chunks_mut method on slices.

    \n

    \u00a7Example

    \n
    #![feature(array_chunks)]\n \n let mut slice = ['l', 'o', 'r', 'e', 'm'];\n let iter = slice.array_chunks_mut::<2>();
    Run
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, T, const N: usize> ArrayChunksMut<'a, T, N>

    source

    pub fn into_remainder(self) -> &'a mut [T]

    \ud83d\udd2cThis is a nightly-only experimental API. (array_chunks #74985)

    Returns the remainder of the original slice that is not going to be\n+

    Implementations\u00a7

    source\u00a7

    impl<'a, T, const N: usize> ArrayChunksMut<'a, T, N>

    source

    pub fn into_remainder(self) -> &'a mut [T]

    \ud83d\udd2cThis is a nightly-only experimental API. (array_chunks #74985)

    Returns the remainder of the original slice that is not going to be\n returned by the iterator. The returned slice has at most N-1\n elements.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, T, const N: usize> Debug for ArrayChunksMut<'a, T, N>
    where\n- T: Debug + 'a,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, const N: usize> DoubleEndedIterator for ArrayChunksMut<'a, T, N>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a mut [T; N]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, T, const N: usize> Debug for ArrayChunksMut<'a, T, N>
    where\n+ T: Debug + 'a,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, const N: usize> DoubleEndedIterator for ArrayChunksMut<'a, T, N>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a mut [T; N]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(\n &mut self,\n- n: usize\n-) -> Option<<ArrayChunksMut<'a, T, N> as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T, const N: usize> ExactSizeIterator for ArrayChunksMut<'_, T, N>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<'a, T, const N: usize> Iterator for ArrayChunksMut<'a, T, N>

    \u00a7

    type Item = &'a mut [T; N]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut [T; N]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(\n+ n: usize\n+) -> Option<<ArrayChunksMut<'a, T, N> as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T, const N: usize> ExactSizeIterator for ArrayChunksMut<'_, T, N>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<'a, T, const N: usize> Iterator for ArrayChunksMut<'a, T, N>

    \u00a7

    type Item = &'a mut [T; N]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut [T; N]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(\n &mut self,\n- n: usize\n-) -> Option<<ArrayChunksMut<'a, T, N> as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<ArrayChunksMut<'a, T, N> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ n: usize\n+) -> Option<<ArrayChunksMut<'a, T, N> as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<ArrayChunksMut<'a, T, N> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<T, const N: usize> FusedIterator for ArrayChunksMut<'_, T, N>

    source\u00a7

    impl<T, const N: usize> TrustedLen for ArrayChunksMut<'_, T, N>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, const N: usize> Freeze for ArrayChunksMut<'a, T, N>

    \u00a7

    impl<'a, T, const N: usize> RefUnwindSafe for ArrayChunksMut<'a, T, N>
    where\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, const N: usize> Send for ArrayChunksMut<'a, T, N>
    where\n- T: Send,

    \u00a7

    impl<'a, T, const N: usize> Sync for ArrayChunksMut<'a, T, N>
    where\n- T: Sync,

    \u00a7

    impl<'a, T, const N: usize> Unpin for ArrayChunksMut<'a, T, N>

    \u00a7

    impl<'a, T, const N: usize> !UnwindSafe for ArrayChunksMut<'a, T, N>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<T, const N: usize> FusedIterator for ArrayChunksMut<'_, T, N>

    source\u00a7

    impl<T, const N: usize> TrustedLen for ArrayChunksMut<'_, T, N>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, const N: usize> Freeze for ArrayChunksMut<'a, T, N>

    \u00a7

    impl<'a, T, const N: usize> RefUnwindSafe for ArrayChunksMut<'a, T, N>
    where\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, const N: usize> Send for ArrayChunksMut<'a, T, N>
    where\n+ T: Send,

    \u00a7

    impl<'a, T, const N: usize> Sync for ArrayChunksMut<'a, T, N>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T, const N: usize> Unpin for ArrayChunksMut<'a, T, N>

    \u00a7

    impl<'a, T, const N: usize> !UnwindSafe for ArrayChunksMut<'a, T, N>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ArrayWindows.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ArrayWindows.html", "unified_diff": "@@ -1,224 +1,224 @@\n ArrayWindows in alloc::slice - Rust
    \n-

    Struct alloc::slice::ArrayWindows

    source \u00b7
    pub struct ArrayWindows<'a, T, const N: usize>
    where\n+

    Struct alloc::slice::ArrayWindows

    source \u00b7
    pub struct ArrayWindows<'a, T, const N: usize>
    where\n T: 'a,
    { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (array_windows #75027)
    Expand description

    A windowed iterator over a slice in overlapping chunks (N elements at a\n time), starting at the beginning of the slice

    \n-

    This struct is created by the array_windows method on slices.

    \n+

    This struct is created by the array_windows method on slices.

    \n

    \u00a7Example

    \n
    #![feature(array_windows)]\n \n let slice = [0, 1, 2, 3];\n let iter = slice.array_windows::<2>();
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, T, const N: usize> Clone for ArrayWindows<'a, T, N>
    where\n- T: Clone + 'a,

    source\u00a7

    fn clone(&self) -> ArrayWindows<'a, T, N> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, T, const N: usize> Debug for ArrayWindows<'a, T, N>
    where\n- T: Debug + 'a,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, const N: usize> DoubleEndedIterator for ArrayWindows<'a, T, N>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a [T; N]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<&'a [T; N]>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T, const N: usize> ExactSizeIterator for ArrayWindows<'_, T, N>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<'a, T, const N: usize> Iterator for ArrayWindows<'a, T, N>

    \u00a7

    type Item = &'a [T; N]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<<ArrayWindows<'a, T, N> as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, T, const N: usize> Clone for ArrayWindows<'a, T, N>
    where\n+ T: Clone + 'a,

    source\u00a7

    fn clone(&self) -> ArrayWindows<'a, T, N> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, T, const N: usize> Debug for ArrayWindows<'a, T, N>
    where\n+ T: Debug + 'a,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, const N: usize> DoubleEndedIterator for ArrayWindows<'a, T, N>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a [T; N]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<&'a [T; N]>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T, const N: usize> ExactSizeIterator for ArrayWindows<'_, T, N>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<'a, T, const N: usize> Iterator for ArrayWindows<'a, T, N>

    \u00a7

    type Item = &'a [T; N]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<<ArrayWindows<'a, T, N> as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(\n &mut self,\n- n: usize\n-) -> Option<<ArrayWindows<'a, T, N> as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<ArrayWindows<'a, T, N> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ n: usize\n+) -> Option<<ArrayWindows<'a, T, N> as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<ArrayWindows<'a, T, N> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<'a, T, const N: usize> Copy for ArrayWindows<'a, T, N>
    where\n- T: Copy + 'a,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, const N: usize> Freeze for ArrayWindows<'a, T, N>

    \u00a7

    impl<'a, T, const N: usize> RefUnwindSafe for ArrayWindows<'a, T, N>
    where\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, const N: usize> !Send for ArrayWindows<'a, T, N>

    \u00a7

    impl<'a, T, const N: usize> !Sync for ArrayWindows<'a, T, N>

    \u00a7

    impl<'a, T, const N: usize> Unpin for ArrayWindows<'a, T, N>

    \u00a7

    impl<'a, T, const N: usize> UnwindSafe for ArrayWindows<'a, T, N>
    where\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<'a, T, const N: usize> Copy for ArrayWindows<'a, T, N>
    where\n+ T: Copy + 'a,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, const N: usize> Freeze for ArrayWindows<'a, T, N>

    \u00a7

    impl<'a, T, const N: usize> RefUnwindSafe for ArrayWindows<'a, T, N>
    where\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, const N: usize> !Send for ArrayWindows<'a, T, N>

    \u00a7

    impl<'a, T, const N: usize> !Sync for ArrayWindows<'a, T, N>

    \u00a7

    impl<'a, T, const N: usize> Unpin for ArrayWindows<'a, T, N>

    \u00a7

    impl<'a, T, const N: usize> UnwindSafe for ArrayWindows<'a, T, N>
    where\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ChunkBy.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ChunkBy.html", "unified_diff": "@@ -1,224 +1,224 @@\n ChunkBy in alloc::slice - Rust
    \n-

    Struct alloc::slice::ChunkBy

    1.77.0 \u00b7 source \u00b7
    pub struct ChunkBy<'a, T, P>
    where\n+

    Struct alloc::slice::ChunkBy

    1.77.0 \u00b7 source \u00b7
    pub struct ChunkBy<'a, T, P>
    where\n T: 'a,
    { /* private fields */ }
    Expand description

    An iterator over slice in (non-overlapping) chunks separated by a predicate.

    \n-

    This struct is created by the chunk_by method on slices.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, T, P> Debug for ChunkBy<'a, T, P>
    where\n- T: 'a + Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, P> DoubleEndedIterator for ChunkBy<'a, T, P>
    where\n+

    This struct is created by the chunk_by method on slices.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, T, P> Debug for ChunkBy<'a, T, P>
    where\n+ T: 'a + Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, P> DoubleEndedIterator for ChunkBy<'a, T, P>
    where\n T: 'a,\n- P: FnMut(&T, &T) -> bool,

    source\u00a7

    fn next_back(&mut self) -> Option<<ChunkBy<'a, T, P> as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, T, P> Iterator for ChunkBy<'a, T, P>
    where\n+ P: FnMut(&T, &T) -> bool,

    source\u00a7

    fn next_back(&mut self) -> Option<<ChunkBy<'a, T, P> as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, T, P> Iterator for ChunkBy<'a, T, P>
    where\n T: 'a,\n- P: FnMut(&T, &T) -> bool,

    \u00a7

    type Item = &'a [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<<ChunkBy<'a, T, P> as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<ChunkBy<'a, T, P> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ P: FnMut(&T, &T) -> bool,

    \u00a7

    type Item = &'a [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<<ChunkBy<'a, T, P> as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<ChunkBy<'a, T, P> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<'a, T, P> FusedIterator for ChunkBy<'a, T, P>
    where\n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<'a, T, P> FusedIterator for ChunkBy<'a, T, P>
    where\n T: 'a,\n- P: FnMut(&T, &T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, P> Freeze for ChunkBy<'a, T, P>
    where\n- P: Freeze,

    \u00a7

    impl<'a, T, P> RefUnwindSafe for ChunkBy<'a, T, P>
    where\n- P: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, P> Send for ChunkBy<'a, T, P>
    where\n- P: Send,\n- T: Sync,

    \u00a7

    impl<'a, T, P> Sync for ChunkBy<'a, T, P>
    where\n- P: Sync,\n- T: Sync,

    \u00a7

    impl<'a, T, P> Unpin for ChunkBy<'a, T, P>
    where\n- P: Unpin,

    \u00a7

    impl<'a, T, P> UnwindSafe for ChunkBy<'a, T, P>
    where\n- P: UnwindSafe,\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+ P: FnMut(&T, &T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, P> Freeze for ChunkBy<'a, T, P>
    where\n+ P: Freeze,

    \u00a7

    impl<'a, T, P> RefUnwindSafe for ChunkBy<'a, T, P>
    where\n+ P: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, P> Send for ChunkBy<'a, T, P>
    where\n+ P: Send,\n+ T: Sync,

    \u00a7

    impl<'a, T, P> Sync for ChunkBy<'a, T, P>
    where\n+ P: Sync,\n+ T: Sync,

    \u00a7

    impl<'a, T, P> Unpin for ChunkBy<'a, T, P>
    where\n+ P: Unpin,

    \u00a7

    impl<'a, T, P> UnwindSafe for ChunkBy<'a, T, P>
    where\n+ P: UnwindSafe,\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ChunkByMut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ChunkByMut.html", "unified_diff": "@@ -1,223 +1,223 @@\n ChunkByMut in alloc::slice - Rust
    \n-

    Struct alloc::slice::ChunkByMut

    1.77.0 \u00b7 source \u00b7
    pub struct ChunkByMut<'a, T, P>
    where\n+

    Struct alloc::slice::ChunkByMut

    1.77.0 \u00b7 source \u00b7
    pub struct ChunkByMut<'a, T, P>
    where\n T: 'a,
    { /* private fields */ }
    Expand description

    An iterator over slice in (non-overlapping) mutable chunks separated\n by a predicate.

    \n-

    This struct is created by the chunk_by_mut method on slices.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, T, P> Debug for ChunkByMut<'a, T, P>
    where\n- T: 'a + Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, P> DoubleEndedIterator for ChunkByMut<'a, T, P>
    where\n+

    This struct is created by the chunk_by_mut method on slices.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, T, P> Debug for ChunkByMut<'a, T, P>
    where\n+ T: 'a + Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, P> DoubleEndedIterator for ChunkByMut<'a, T, P>
    where\n T: 'a,\n- P: FnMut(&T, &T) -> bool,

    source\u00a7

    fn next_back(&mut self) -> Option<<ChunkByMut<'a, T, P> as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, T, P> Iterator for ChunkByMut<'a, T, P>
    where\n+ P: FnMut(&T, &T) -> bool,

    source\u00a7

    fn next_back(&mut self) -> Option<<ChunkByMut<'a, T, P> as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, T, P> Iterator for ChunkByMut<'a, T, P>
    where\n T: 'a,\n- P: FnMut(&T, &T) -> bool,

    \u00a7

    type Item = &'a mut [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<<ChunkByMut<'a, T, P> as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<ChunkByMut<'a, T, P> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ P: FnMut(&T, &T) -> bool,

    \u00a7

    type Item = &'a mut [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<<ChunkByMut<'a, T, P> as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<ChunkByMut<'a, T, P> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<'a, T, P> FusedIterator for ChunkByMut<'a, T, P>
    where\n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<'a, T, P> FusedIterator for ChunkByMut<'a, T, P>
    where\n T: 'a,\n- P: FnMut(&T, &T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, P> Freeze for ChunkByMut<'a, T, P>
    where\n- P: Freeze,

    \u00a7

    impl<'a, T, P> RefUnwindSafe for ChunkByMut<'a, T, P>
    where\n- P: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, P> Send for ChunkByMut<'a, T, P>
    where\n- P: Send,\n- T: Send,

    \u00a7

    impl<'a, T, P> Sync for ChunkByMut<'a, T, P>
    where\n- P: Sync,\n- T: Sync,

    \u00a7

    impl<'a, T, P> Unpin for ChunkByMut<'a, T, P>
    where\n- P: Unpin,

    \u00a7

    impl<'a, T, P> !UnwindSafe for ChunkByMut<'a, T, P>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+ P: FnMut(&T, &T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, P> Freeze for ChunkByMut<'a, T, P>
    where\n+ P: Freeze,

    \u00a7

    impl<'a, T, P> RefUnwindSafe for ChunkByMut<'a, T, P>
    where\n+ P: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, P> Send for ChunkByMut<'a, T, P>
    where\n+ P: Send,\n+ T: Send,

    \u00a7

    impl<'a, T, P> Sync for ChunkByMut<'a, T, P>
    where\n+ P: Sync,\n+ T: Sync,

    \u00a7

    impl<'a, T, P> Unpin for ChunkByMut<'a, T, P>
    where\n+ P: Unpin,

    \u00a7

    impl<'a, T, P> !UnwindSafe for ChunkByMut<'a, T, P>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.Chunks.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.Chunks.html", "unified_diff": "@@ -1,222 +1,222 @@\n Chunks in alloc::slice - Rust
    \n-

    Struct alloc::slice::Chunks

    1.0.0 \u00b7 source \u00b7
    pub struct Chunks<'a, T>
    where\n+

    Struct alloc::slice::Chunks

    1.0.0 \u00b7 source \u00b7
    pub struct Chunks<'a, T>
    where\n T: 'a,
    { /* private fields */ }
    Expand description

    An iterator over a slice in (non-overlapping) chunks (chunk_size elements at a\n time), starting at the beginning of the slice.

    \n

    When the slice len is not evenly divided by the chunk size, the last slice\n of the iteration will be the remainder.

    \n-

    This struct is created by the chunks method on slices.

    \n+

    This struct is created by the chunks method on slices.

    \n

    \u00a7Example

    \n
    let slice = ['l', 'o', 'r', 'e', 'm'];\n let iter = slice.chunks(2);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T> Clone for Chunks<'_, T>

    source\u00a7

    fn clone(&self) -> Chunks<'_, T> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, T> Debug for Chunks<'a, T>
    where\n- T: Debug + 'a,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for Chunks<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<<Chunks<'a, T> as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for Chunks<'_, T>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, T> Iterator for Chunks<'a, T>

    \u00a7

    type Item = &'a [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<<Chunks<'a, T> as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<Chunks<'a, T> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T> Clone for Chunks<'_, T>

    source\u00a7

    fn clone(&self) -> Chunks<'_, T> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, T> Debug for Chunks<'a, T>
    where\n+ T: Debug + 'a,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for Chunks<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<<Chunks<'a, T> as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for Chunks<'_, T>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, T> Iterator for Chunks<'a, T>

    \u00a7

    type Item = &'a [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<<Chunks<'a, T> as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<Chunks<'a, T> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T> FusedIterator for Chunks<'_, T>

    source\u00a7

    impl<T> TrustedLen for Chunks<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for Chunks<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for Chunks<'a, T>
    where\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Send for Chunks<'a, T>
    where\n- T: Sync,

    \u00a7

    impl<'a, T> Sync for Chunks<'a, T>
    where\n- T: Sync,

    \u00a7

    impl<'a, T> Unpin for Chunks<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for Chunks<'a, T>
    where\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T> FusedIterator for Chunks<'_, T>

    source\u00a7

    impl<T> TrustedLen for Chunks<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for Chunks<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for Chunks<'a, T>
    where\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Send for Chunks<'a, T>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T> Sync for Chunks<'a, T>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T> Unpin for Chunks<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for Chunks<'a, T>
    where\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ChunksExact.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ChunksExact.html", "unified_diff": "@@ -1,239 +1,239 @@\n ChunksExact in alloc::slice - Rust
    \n-

    Struct alloc::slice::ChunksExact

    1.31.0 \u00b7 source \u00b7
    pub struct ChunksExact<'a, T>
    where\n+

    Struct alloc::slice::ChunksExact

    1.31.0 \u00b7 source \u00b7
    pub struct ChunksExact<'a, T>
    where\n T: 'a,
    { /* private fields */ }
    Expand description

    An iterator over a slice in (non-overlapping) chunks (chunk_size elements at a\n time), starting at the beginning of the slice.

    \n

    When the slice len is not evenly divided by the chunk size, the last\n up to chunk_size-1 elements will be omitted but can be retrieved from\n the remainder function from the iterator.

    \n-

    This struct is created by the chunks_exact method on slices.

    \n+

    This struct is created by the chunks_exact method on slices.

    \n

    \u00a7Example

    \n
    let slice = ['l', 'o', 'r', 'e', 'm'];\n let iter = slice.chunks_exact(2);
    Run
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, T> ChunksExact<'a, T>

    source

    pub fn remainder(&self) -> &'a [T]

    Returns the remainder of the original slice that is not going to be\n+

    Implementations\u00a7

    source\u00a7

    impl<'a, T> ChunksExact<'a, T>

    source

    pub fn remainder(&self) -> &'a [T]

    Returns the remainder of the original slice that is not going to be\n returned by the iterator. The returned slice has at most chunk_size-1\n elements.

    \n
    \u00a7Example
    \n
    let slice = ['l', 'o', 'r', 'e', 'm'];\n let mut iter = slice.chunks_exact(2);\n assert_eq!(iter.remainder(), &['m'][..]);\n assert_eq!(iter.next(), Some(&['l', 'o'][..]));\n assert_eq!(iter.remainder(), &['m'][..]);\n assert_eq!(iter.next(), Some(&['r', 'e'][..]));\n assert_eq!(iter.remainder(), &['m'][..]);\n assert_eq!(iter.next(), None);\n assert_eq!(iter.remainder(), &['m'][..]);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T> Clone for ChunksExact<'_, T>

    source\u00a7

    fn clone(&self) -> ChunksExact<'_, T> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, T> Debug for ChunksExact<'a, T>
    where\n- T: Debug + 'a,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for ChunksExact<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T> Clone for ChunksExact<'_, T>

    source\u00a7

    fn clone(&self) -> ChunksExact<'_, T> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, T> Debug for ChunksExact<'a, T>
    where\n+ T: Debug + 'a,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for ChunksExact<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(\n &mut self,\n- n: usize\n-) -> Option<<ChunksExact<'a, T> as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for ChunksExact<'_, T>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<'a, T> Iterator for ChunksExact<'a, T>

    \u00a7

    type Item = &'a [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<<ChunksExact<'a, T> as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<ChunksExact<'a, T> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ n: usize\n+) -> Option<<ChunksExact<'a, T> as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for ChunksExact<'_, T>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<'a, T> Iterator for ChunksExact<'a, T>

    \u00a7

    type Item = &'a [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<<ChunksExact<'a, T> as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<ChunksExact<'a, T> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<T> FusedIterator for ChunksExact<'_, T>

    source\u00a7

    impl<T> TrustedLen for ChunksExact<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for ChunksExact<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for ChunksExact<'a, T>
    where\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Send for ChunksExact<'a, T>
    where\n- T: Sync,

    \u00a7

    impl<'a, T> Sync for ChunksExact<'a, T>
    where\n- T: Sync,

    \u00a7

    impl<'a, T> Unpin for ChunksExact<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for ChunksExact<'a, T>
    where\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<T> FusedIterator for ChunksExact<'_, T>

    source\u00a7

    impl<T> TrustedLen for ChunksExact<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for ChunksExact<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for ChunksExact<'a, T>
    where\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Send for ChunksExact<'a, T>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T> Sync for ChunksExact<'a, T>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T> Unpin for ChunksExact<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for ChunksExact<'a, T>
    where\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ChunksExactMut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ChunksExactMut.html", "unified_diff": "@@ -1,226 +1,226 @@\n ChunksExactMut in alloc::slice - Rust
    \n-

    Struct alloc::slice::ChunksExactMut

    1.31.0 \u00b7 source \u00b7
    pub struct ChunksExactMut<'a, T>
    where\n+

    Struct alloc::slice::ChunksExactMut

    1.31.0 \u00b7 source \u00b7
    pub struct ChunksExactMut<'a, T>
    where\n T: 'a,
    { /* private fields */ }
    Expand description

    An iterator over a slice in (non-overlapping) mutable chunks (chunk_size\n elements at a time), starting at the beginning of the slice.

    \n

    When the slice len is not evenly divided by the chunk size, the last up to\n chunk_size-1 elements will be omitted but can be retrieved from the\n into_remainder function from the iterator.

    \n-

    This struct is created by the chunks_exact_mut method on slices.

    \n+

    This struct is created by the chunks_exact_mut method on slices.

    \n

    \u00a7Example

    \n
    let mut slice = ['l', 'o', 'r', 'e', 'm'];\n let iter = slice.chunks_exact_mut(2);
    Run
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, T> ChunksExactMut<'a, T>

    source

    pub fn into_remainder(self) -> &'a mut [T]

    Returns the remainder of the original slice that is not going to be\n+

    Implementations\u00a7

    source\u00a7

    impl<'a, T> ChunksExactMut<'a, T>

    source

    pub fn into_remainder(self) -> &'a mut [T]

    Returns the remainder of the original slice that is not going to be\n returned by the iterator. The returned slice has at most chunk_size-1\n elements.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, T> Debug for ChunksExactMut<'a, T>
    where\n- T: Debug + 'a,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for ChunksExactMut<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a mut [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, T> Debug for ChunksExactMut<'a, T>
    where\n+ T: Debug + 'a,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for ChunksExactMut<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a mut [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(\n &mut self,\n- n: usize\n-) -> Option<<ChunksExactMut<'a, T> as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for ChunksExactMut<'_, T>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<'a, T> Iterator for ChunksExactMut<'a, T>

    \u00a7

    type Item = &'a mut [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<&'a mut [T]>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<ChunksExactMut<'a, T> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ n: usize\n+) -> Option<<ChunksExactMut<'a, T> as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for ChunksExactMut<'_, T>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<'a, T> Iterator for ChunksExactMut<'a, T>

    \u00a7

    type Item = &'a mut [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<&'a mut [T]>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<ChunksExactMut<'a, T> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<T> FusedIterator for ChunksExactMut<'_, T>

    source\u00a7

    impl<T> Send for ChunksExactMut<'_, T>
    where\n- T: Send,

    source\u00a7

    impl<T> Sync for ChunksExactMut<'_, T>
    where\n- T: Sync,

    source\u00a7

    impl<T> TrustedLen for ChunksExactMut<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for ChunksExactMut<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for ChunksExactMut<'a, T>
    where\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Unpin for ChunksExactMut<'a, T>

    \u00a7

    impl<'a, T> !UnwindSafe for ChunksExactMut<'a, T>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<T> FusedIterator for ChunksExactMut<'_, T>

    source\u00a7

    impl<T> Send for ChunksExactMut<'_, T>
    where\n+ T: Send,

    source\u00a7

    impl<T> Sync for ChunksExactMut<'_, T>
    where\n+ T: Sync,

    source\u00a7

    impl<T> TrustedLen for ChunksExactMut<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for ChunksExactMut<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for ChunksExactMut<'a, T>
    where\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Unpin for ChunksExactMut<'a, T>

    \u00a7

    impl<'a, T> !UnwindSafe for ChunksExactMut<'a, T>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ChunksMut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.ChunksMut.html", "unified_diff": "@@ -1,219 +1,219 @@\n ChunksMut in alloc::slice - Rust
    \n-

    Struct alloc::slice::ChunksMut

    1.0.0 \u00b7 source \u00b7
    pub struct ChunksMut<'a, T>
    where\n+

    Struct alloc::slice::ChunksMut

    1.0.0 \u00b7 source \u00b7
    pub struct ChunksMut<'a, T>
    where\n T: 'a,
    { /* private fields */ }
    Expand description

    An iterator over a slice in (non-overlapping) mutable chunks (chunk_size\n elements at a time), starting at the beginning of the slice.

    \n

    When the slice len is not evenly divided by the chunk size, the last slice\n of the iteration will be the remainder.

    \n-

    This struct is created by the chunks_mut method on slices.

    \n+

    This struct is created by the chunks_mut method on slices.

    \n

    \u00a7Example

    \n
    let mut slice = ['l', 'o', 'r', 'e', 'm'];\n let iter = slice.chunks_mut(2);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, T> Debug for ChunksMut<'a, T>
    where\n- T: Debug + 'a,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for ChunksMut<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a mut [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<<ChunksMut<'a, T> as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for ChunksMut<'_, T>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, T> Iterator for ChunksMut<'a, T>

    \u00a7

    type Item = &'a mut [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<&'a mut [T]>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<ChunksMut<'a, T> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, T> Debug for ChunksMut<'a, T>
    where\n+ T: Debug + 'a,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for ChunksMut<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a mut [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<<ChunksMut<'a, T> as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for ChunksMut<'_, T>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, T> Iterator for ChunksMut<'a, T>

    \u00a7

    type Item = &'a mut [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<&'a mut [T]>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<ChunksMut<'a, T> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T> FusedIterator for ChunksMut<'_, T>

    source\u00a7

    impl<T> Send for ChunksMut<'_, T>
    where\n- T: Send,

    source\u00a7

    impl<T> Sync for ChunksMut<'_, T>
    where\n- T: Sync,

    source\u00a7

    impl<T> TrustedLen for ChunksMut<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for ChunksMut<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for ChunksMut<'a, T>
    where\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Unpin for ChunksMut<'a, T>

    \u00a7

    impl<'a, T> !UnwindSafe for ChunksMut<'a, T>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T> FusedIterator for ChunksMut<'_, T>

    source\u00a7

    impl<T> Send for ChunksMut<'_, T>
    where\n+ T: Send,

    source\u00a7

    impl<T> Sync for ChunksMut<'_, T>
    where\n+ T: Sync,

    source\u00a7

    impl<T> TrustedLen for ChunksMut<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for ChunksMut<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for ChunksMut<'a, T>
    where\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Unpin for ChunksMut<'a, T>

    \u00a7

    impl<'a, T> !UnwindSafe for ChunksMut<'a, T>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.EscapeAscii.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.EscapeAscii.html", "unified_diff": "@@ -1,208 +1,208 @@\n EscapeAscii in alloc::slice - Rust
    \n-

    Struct alloc::slice::EscapeAscii

    1.60.0 \u00b7 source \u00b7
    pub struct EscapeAscii<'a> { /* private fields */ }
    Expand description

    An iterator over the escaped version of a byte slice.

    \n-

    This struct is created by the slice::escape_ascii method. See its\n+

    Struct alloc::slice::EscapeAscii

    1.60.0 \u00b7 source \u00b7
    pub struct EscapeAscii<'a> { /* private fields */ }
    Expand description

    An iterator over the escaped version of a byte slice.

    \n+

    This struct is created by the slice::escape_ascii method. See its\n documentation for more information.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for EscapeAscii<'a>

    source\u00a7

    fn clone(&self) -> EscapeAscii<'a> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a> Debug for EscapeAscii<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> Display for EscapeAscii<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> DoubleEndedIterator for EscapeAscii<'a>

    source\u00a7

    fn next_back(&mut self) -> Option<u8>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a> Iterator for EscapeAscii<'a>

    \u00a7

    type Item = u8

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<u8>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn try_fold<Acc, Fold, R>(&mut self, init: Acc, fold: Fold) -> R
    where\n- Fold: FnMut(Acc, <EscapeAscii<'a> as Iterator>::Item) -> R,\n- R: Try<Output = Acc>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    source\u00a7

    fn fold<Acc, Fold>(self, init: Acc, fold: Fold) -> Acc
    where\n- Fold: FnMut(Acc, <EscapeAscii<'a> as Iterator>::Item) -> Acc,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    source\u00a7

    fn last(self) -> Option<u8>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for EscapeAscii<'a>

    source\u00a7

    fn clone(&self) -> EscapeAscii<'a> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a> Debug for EscapeAscii<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> Display for EscapeAscii<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> DoubleEndedIterator for EscapeAscii<'a>

    source\u00a7

    fn next_back(&mut self) -> Option<u8>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a> Iterator for EscapeAscii<'a>

    \u00a7

    type Item = u8

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<u8>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn try_fold<Acc, Fold, R>(&mut self, init: Acc, fold: Fold) -> R
    where\n+ Fold: FnMut(Acc, <EscapeAscii<'a> as Iterator>::Item) -> R,\n+ R: Try<Output = Acc>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    source\u00a7

    fn fold<Acc, Fold>(self, init: Acc, fold: Fold) -> Acc
    where\n+ Fold: FnMut(Acc, <EscapeAscii<'a> as Iterator>::Item) -> Acc,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    source\u00a7

    fn last(self) -> Option<u8>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<'a> FusedIterator for EscapeAscii<'a>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for EscapeAscii<'a>

    \u00a7

    impl<'a> RefUnwindSafe for EscapeAscii<'a>

    \u00a7

    impl<'a> Send for EscapeAscii<'a>

    \u00a7

    impl<'a> Sync for EscapeAscii<'a>

    \u00a7

    impl<'a> Unpin for EscapeAscii<'a>

    \u00a7

    impl<'a> UnwindSafe for EscapeAscii<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<'a> FusedIterator for EscapeAscii<'a>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for EscapeAscii<'a>

    \u00a7

    impl<'a> RefUnwindSafe for EscapeAscii<'a>

    \u00a7

    impl<'a> Send for EscapeAscii<'a>

    \u00a7

    impl<'a> Sync for EscapeAscii<'a>

    \u00a7

    impl<'a> Unpin for EscapeAscii<'a>

    \u00a7

    impl<'a> UnwindSafe for EscapeAscii<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n- T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n+ T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.Iter.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.Iter.html", "unified_diff": "@@ -1,22 +1,22 @@\n Iter in alloc::slice - Rust
    \n-

    Struct alloc::slice::Iter

    1.0.0 \u00b7 source \u00b7
    pub struct Iter<'a, T>
    where\n+

    Struct alloc::slice::Iter

    1.0.0 \u00b7 source \u00b7
    pub struct Iter<'a, T>
    where\n T: 'a,
    { /* private fields */ }
    Expand description

    Immutable slice iterator

    \n-

    This struct is created by the iter method on slices.

    \n+

    This struct is created by the iter method on slices.

    \n

    \u00a7Examples

    \n

    Basic usage:

    \n \n
    // First, we declare a type which has `iter` method to get the `Iter` struct (`&[usize]` here):\n let slice = &[1, 2, 3];\n \n // Then, we iterate over it:\n for element in slice.iter() {\n     println!(\"{element}\");\n }
    Run
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, T> Iter<'a, T>

    1.4.0 \u00b7 source

    pub fn as_slice(&self) -> &'a [T]

    Views the underlying data as a subslice of the original data.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a, T> Iter<'a, T>

    1.4.0 \u00b7 source

    pub fn as_slice(&self) -> &'a [T]

    Views the underlying data as a subslice of the original data.

    \n

    This has the same lifetime as the original slice, and so the\n iterator can continue to be used while this exists.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    // First, we declare a type which has the `iter` method to get the `Iter`\n // struct (`&[usize]` here):\n@@ -27,222 +27,222 @@\n // So if we print what `as_slice` method returns here, we have \"[1, 2, 3]\":\n println!(\"{:?}\", iter.as_slice());\n \n // Next, we move to the second element of the slice:\n iter.next();\n // Now `as_slice` returns \"[2, 3]\":\n println!(\"{:?}\", iter.as_slice());
    Run
    \n-

    Trait Implementations\u00a7

    1.13.0 \u00b7 source\u00a7

    impl<T> AsRef<[T]> for Iter<'_, T>

    source\u00a7

    fn as_ref(&self) -> &[T]

    Converts this type into a shared reference of the (usually inferred) input type.
    source\u00a7

    impl<T> Clone for Iter<'_, T>

    source\u00a7

    fn clone(&self) -> Iter<'_, T> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.9.0 \u00b7 source\u00a7

    impl<T> Debug for Iter<'_, T>
    where\n- T: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<T> Default for Iter<'_, T>

    source\u00a7

    fn default() -> Iter<'_, T> \u24d8

    Creates an empty slice iterator.

    \n+

    Trait Implementations\u00a7

    1.13.0 \u00b7 source\u00a7

    impl<T> AsRef<[T]> for Iter<'_, T>

    source\u00a7

    fn as_ref(&self) -> &[T]

    Converts this type into a shared reference of the (usually inferred) input type.
    source\u00a7

    impl<T> Clone for Iter<'_, T>

    source\u00a7

    fn clone(&self) -> Iter<'_, T> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.9.0 \u00b7 source\u00a7

    impl<T> Debug for Iter<'_, T>
    where\n+ T: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<T> Default for Iter<'_, T>

    source\u00a7

    fn default() -> Iter<'_, T> \u24d8

    Creates an empty slice iterator.

    \n \n
    let iter: Iter < '_, u8 > = Default::default();\n assert_eq!(iter.len(), 0);
    Run
    \n-
    source\u00a7

    impl<'a, T> DoubleEndedIterator for Iter<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<&'a T>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for Iter<'_, T>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, T> Iterator for Iter<'a, T>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<&'a T>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn last(self) -> Option<&'a T>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- F: FnMut(B, <Iter<'a, T> as Iterator>::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Iter<'a, T>: Sized,\n- F: FnMut(<Iter<'a, T> as Iterator>::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Iter<'a, T>: Sized,\n- F: FnMut(<Iter<'a, T> as Iterator>::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Iter<'a, T>: Sized,\n- F: FnMut(<Iter<'a, T> as Iterator>::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<<Iter<'a, T> as Iterator>::Item>
    where\n- Iter<'a, T>: Sized,\n- P: FnMut(&<Iter<'a, T> as Iterator>::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Iter<'a, T>: Sized,\n- F: FnMut(<Iter<'a, T> as Iterator>::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Iter<'a, T>: Sized,\n- P: FnMut(<Iter<'a, T> as Iterator>::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(<Iter<'a, T> as Iterator>::Item) -> bool,\n- Iter<'a, T>: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Iter<'a, T>: Sized,\n- F: FnMut(&<Iter<'a, T> as Iterator>::Item, &<Iter<'a, T> as Iterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    source\u00a7

    impl<'a, T> DoubleEndedIterator for Iter<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<&'a T>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for Iter<'_, T>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, T> Iterator for Iter<'a, T>

    \u00a7

    type Item = &'a T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<&'a T>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn last(self) -> Option<&'a T>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ F: FnMut(B, <Iter<'a, T> as Iterator>::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Iter<'a, T>: Sized,\n+ F: FnMut(<Iter<'a, T> as Iterator>::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Iter<'a, T>: Sized,\n+ F: FnMut(<Iter<'a, T> as Iterator>::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Iter<'a, T>: Sized,\n+ F: FnMut(<Iter<'a, T> as Iterator>::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<<Iter<'a, T> as Iterator>::Item>
    where\n+ Iter<'a, T>: Sized,\n+ P: FnMut(&<Iter<'a, T> as Iterator>::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Iter<'a, T>: Sized,\n+ F: FnMut(<Iter<'a, T> as Iterator>::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Iter<'a, T>: Sized,\n+ P: FnMut(<Iter<'a, T> as Iterator>::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(<Iter<'a, T> as Iterator>::Item) -> bool,\n+ Iter<'a, T>: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Iter<'a, T>: Sized,\n+ F: FnMut(&<Iter<'a, T> as Iterator>::Item, &<Iter<'a, T> as Iterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T> FusedIterator for Iter<'_, T>

    source\u00a7

    impl<T> Send for Iter<'_, T>
    where\n- T: Sync,

    source\u00a7

    impl<T> Sync for Iter<'_, T>
    where\n- T: Sync,

    source\u00a7

    impl<T> TrustedLen for Iter<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for Iter<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for Iter<'a, T>
    where\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Unpin for Iter<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for Iter<'a, T>
    where\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T> FusedIterator for Iter<'_, T>

    source\u00a7

    impl<T> Send for Iter<'_, T>
    where\n+ T: Sync,

    source\u00a7

    impl<T> Sync for Iter<'_, T>
    where\n+ T: Sync,

    source\u00a7

    impl<T> TrustedLen for Iter<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for Iter<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for Iter<'a, T>
    where\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Unpin for Iter<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for Iter<'a, T>
    where\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.IterMut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.IterMut.html", "unified_diff": "@@ -1,26 +1,26 @@\n IterMut in alloc::slice - Rust
    \n-

    Struct alloc::slice::IterMut

    1.0.0 \u00b7 source \u00b7
    pub struct IterMut<'a, T>
    where\n+

    Struct alloc::slice::IterMut

    1.0.0 \u00b7 source \u00b7
    pub struct IterMut<'a, T>
    where\n T: 'a,
    { /* private fields */ }
    Expand description

    Mutable slice iterator.

    \n-

    This struct is created by the iter_mut method on slices.

    \n+

    This struct is created by the iter_mut method on slices.

    \n

    \u00a7Examples

    \n

    Basic usage:

    \n \n
    // First, we declare a type which has `iter_mut` method to get the `IterMut`\n // struct (`&[usize]` here):\n let mut slice = &mut [1, 2, 3];\n \n // Then, we iterate over it and increment each element value:\n for element in slice.iter_mut() {\n     *element += 1;\n }\n \n // We now have \"[2, 3, 4]\":\n println!(\"{slice:?}\");
    Run
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, T> IterMut<'a, T>

    1.4.0 \u00b7 source

    pub fn into_slice(self) -> &'a mut [T]

    Views the underlying data as a subslice of the original data.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a, T> IterMut<'a, T>

    1.4.0 \u00b7 source

    pub fn into_slice(self) -> &'a mut [T]

    Views the underlying data as a subslice of the original data.

    \n

    To avoid creating &mut references that alias, this is forced\n to consume the iterator.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    // First, we declare a type which has `iter_mut` method to get the `IterMut`\n // struct (`&[usize]` here):\n@@ -40,15 +40,15 @@\n     // First we get back the iterator:\n     let mut iter = slice.iter_mut();\n     // We change the value of the first element of the slice returned by the `next` method:\n     *iter.next().unwrap() += 1;\n }\n // Now slice is \"[2, 2, 3]\":\n println!(\"{slice:?}\");
    Run
    \n-
    1.53.0 \u00b7 source

    pub fn as_slice(&self) -> &[T]

    Views the underlying data as a subslice of the original data.

    \n+
    1.53.0 \u00b7 source

    pub fn as_slice(&self) -> &[T]

    Views the underlying data as a subslice of the original data.

    \n

    To avoid creating &mut [T] references that alias, the returned slice\n borrows its lifetime from the iterator the method is applied on.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    let mut slice: &mut [usize] = &mut [1, 2, 3];\n \n@@ -57,15 +57,15 @@\n // So if we check what the `as_slice` method returns here, we have \"[1, 2, 3]\":\n assert_eq!(iter.as_slice(), &[1, 2, 3]);\n \n // Next, we move to the second element of the slice:\n iter.next();\n // Now `as_slice` returns \"[2, 3]\":\n assert_eq!(iter.as_slice(), &[2, 3]);
    Run
    \n-
    source

    pub fn as_mut_slice(&mut self) -> &mut [T]

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_iter_mut_as_mut_slice #93079)

    Views the underlying data as a mutable subslice of the original data.

    \n+
    source

    pub fn as_mut_slice(&mut self) -> &mut [T]

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_iter_mut_as_mut_slice #93079)

    Views the underlying data as a mutable subslice of the original data.

    \n

    To avoid creating &mut [T] references that alias, the returned slice\n borrows its lifetime from the iterator the method is applied on.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    #![feature(slice_iter_mut_as_mut_slice)]\n \n@@ -83,222 +83,222 @@\n mut_slice[2] = 5;\n \n // Next, we can move to the second element of the slice, checking that\n // it yields the value we just wrote:\n assert_eq!(iter.next(), Some(&mut 4));\n // Now `as_mut_slice` returns \"[2, 5]\":\n assert_eq!(iter.as_mut_slice(), &mut [2, 5]);
    Run
    \n-

    Trait Implementations\u00a7

    1.53.0 \u00b7 source\u00a7

    impl<T> AsRef<[T]> for IterMut<'_, T>

    source\u00a7

    fn as_ref(&self) -> &[T]

    Converts this type into a shared reference of the (usually inferred) input type.
    1.9.0 \u00b7 source\u00a7

    impl<T> Debug for IterMut<'_, T>
    where\n- T: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<T> Default for IterMut<'_, T>

    source\u00a7

    fn default() -> IterMut<'_, T> \u24d8

    Creates an empty slice iterator.

    \n+

    Trait Implementations\u00a7

    1.53.0 \u00b7 source\u00a7

    impl<T> AsRef<[T]> for IterMut<'_, T>

    source\u00a7

    fn as_ref(&self) -> &[T]

    Converts this type into a shared reference of the (usually inferred) input type.
    1.9.0 \u00b7 source\u00a7

    impl<T> Debug for IterMut<'_, T>
    where\n+ T: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<T> Default for IterMut<'_, T>

    source\u00a7

    fn default() -> IterMut<'_, T> \u24d8

    Creates an empty slice iterator.

    \n \n
    let iter: IterMut < '_, u8 > = Default::default();\n assert_eq!(iter.len(), 0);
    Run
    \n-
    source\u00a7

    impl<'a, T> DoubleEndedIterator for IterMut<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a mut T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<&'a mut T>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for IterMut<'_, T>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, T> Iterator for IterMut<'a, T>

    \u00a7

    type Item = &'a mut T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<&'a mut T>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn last(self) -> Option<&'a mut T>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- F: FnMut(B, <IterMut<'a, T> as Iterator>::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    source\u00a7

    fn for_each<F>(self, f: F)
    where\n- IterMut<'a, T>: Sized,\n- F: FnMut(<IterMut<'a, T> as Iterator>::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- IterMut<'a, T>: Sized,\n- F: FnMut(<IterMut<'a, T> as Iterator>::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- IterMut<'a, T>: Sized,\n- F: FnMut(<IterMut<'a, T> as Iterator>::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(\n+

    source\u00a7

    impl<'a, T> DoubleEndedIterator for IterMut<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a mut T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<&'a mut T>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for IterMut<'_, T>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, T> Iterator for IterMut<'a, T>

    \u00a7

    type Item = &'a mut T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<&'a mut T>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn last(self) -> Option<&'a mut T>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ F: FnMut(B, <IterMut<'a, T> as Iterator>::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ IterMut<'a, T>: Sized,\n+ F: FnMut(<IterMut<'a, T> as Iterator>::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ IterMut<'a, T>: Sized,\n+ F: FnMut(<IterMut<'a, T> as Iterator>::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ IterMut<'a, T>: Sized,\n+ F: FnMut(<IterMut<'a, T> as Iterator>::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(\n &mut self,\n predicate: P\n-) -> Option<<IterMut<'a, T> as Iterator>::Item>
    where\n- IterMut<'a, T>: Sized,\n- P: FnMut(&<IterMut<'a, T> as Iterator>::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- IterMut<'a, T>: Sized,\n- F: FnMut(<IterMut<'a, T> as Iterator>::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- IterMut<'a, T>: Sized,\n- P: FnMut(<IterMut<'a, T> as Iterator>::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(<IterMut<'a, T> as Iterator>::Item) -> bool,\n- IterMut<'a, T>: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+) -> Option<<IterMut<'a, T> as Iterator>::Item>
    where\n+ IterMut<'a, T>: Sized,\n+ P: FnMut(&<IterMut<'a, T> as Iterator>::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ IterMut<'a, T>: Sized,\n+ F: FnMut(<IterMut<'a, T> as Iterator>::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ IterMut<'a, T>: Sized,\n+ P: FnMut(<IterMut<'a, T> as Iterator>::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(<IterMut<'a, T> as Iterator>::Item) -> bool,\n+ IterMut<'a, T>: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T> FusedIterator for IterMut<'_, T>

    source\u00a7

    impl<T> Send for IterMut<'_, T>
    where\n- T: Send,

    source\u00a7

    impl<T> Sync for IterMut<'_, T>
    where\n- T: Sync,

    source\u00a7

    impl<T> TrustedLen for IterMut<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for IterMut<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for IterMut<'a, T>
    where\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Unpin for IterMut<'a, T>

    \u00a7

    impl<'a, T> !UnwindSafe for IterMut<'a, T>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T> FusedIterator for IterMut<'_, T>

    source\u00a7

    impl<T> Send for IterMut<'_, T>
    where\n+ T: Send,

    source\u00a7

    impl<T> Sync for IterMut<'_, T>
    where\n+ T: Sync,

    source\u00a7

    impl<T> TrustedLen for IterMut<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for IterMut<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for IterMut<'a, T>
    where\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Unpin for IterMut<'a, T>

    \u00a7

    impl<'a, T> !UnwindSafe for IterMut<'a, T>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RChunks.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RChunks.html", "unified_diff": "@@ -1,222 +1,222 @@\n RChunks in alloc::slice - Rust
    \n-

    Struct alloc::slice::RChunks

    1.31.0 \u00b7 source \u00b7
    pub struct RChunks<'a, T>
    where\n+

    Struct alloc::slice::RChunks

    1.31.0 \u00b7 source \u00b7
    pub struct RChunks<'a, T>
    where\n T: 'a,
    { /* private fields */ }
    Expand description

    An iterator over a slice in (non-overlapping) chunks (chunk_size elements at a\n time), starting at the end of the slice.

    \n

    When the slice len is not evenly divided by the chunk size, the last slice\n of the iteration will be the remainder.

    \n-

    This struct is created by the rchunks method on slices.

    \n+

    This struct is created by the rchunks method on slices.

    \n

    \u00a7Example

    \n
    let slice = ['l', 'o', 'r', 'e', 'm'];\n let iter = slice.rchunks(2);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T> Clone for RChunks<'_, T>

    source\u00a7

    fn clone(&self) -> RChunks<'_, T> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, T> Debug for RChunks<'a, T>
    where\n- T: Debug + 'a,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for RChunks<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<<RChunks<'a, T> as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for RChunks<'_, T>

    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, T> Iterator for RChunks<'a, T>

    \u00a7

    type Item = &'a [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<<RChunks<'a, T> as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<RChunks<'a, T> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T> Clone for RChunks<'_, T>

    source\u00a7

    fn clone(&self) -> RChunks<'_, T> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, T> Debug for RChunks<'a, T>
    where\n+ T: Debug + 'a,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for RChunks<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<<RChunks<'a, T> as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for RChunks<'_, T>

    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, T> Iterator for RChunks<'a, T>

    \u00a7

    type Item = &'a [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<<RChunks<'a, T> as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<RChunks<'a, T> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<T> FusedIterator for RChunks<'_, T>

    source\u00a7

    impl<T> TrustedLen for RChunks<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for RChunks<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for RChunks<'a, T>
    where\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Send for RChunks<'a, T>
    where\n- T: Sync,

    \u00a7

    impl<'a, T> Sync for RChunks<'a, T>
    where\n- T: Sync,

    \u00a7

    impl<'a, T> Unpin for RChunks<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for RChunks<'a, T>
    where\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<T> FusedIterator for RChunks<'_, T>

    source\u00a7

    impl<T> TrustedLen for RChunks<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for RChunks<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for RChunks<'a, T>
    where\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Send for RChunks<'a, T>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T> Sync for RChunks<'a, T>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T> Unpin for RChunks<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for RChunks<'a, T>
    where\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RChunksExact.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RChunksExact.html", "unified_diff": "@@ -1,239 +1,239 @@\n RChunksExact in alloc::slice - Rust
    \n-

    Struct alloc::slice::RChunksExact

    1.31.0 \u00b7 source \u00b7
    pub struct RChunksExact<'a, T>
    where\n+

    Struct alloc::slice::RChunksExact

    1.31.0 \u00b7 source \u00b7
    pub struct RChunksExact<'a, T>
    where\n T: 'a,
    { /* private fields */ }
    Expand description

    An iterator over a slice in (non-overlapping) chunks (chunk_size elements at a\n time), starting at the end of the slice.

    \n

    When the slice len is not evenly divided by the chunk size, the last\n up to chunk_size-1 elements will be omitted but can be retrieved from\n the remainder function from the iterator.

    \n-

    This struct is created by the rchunks_exact method on slices.

    \n+

    This struct is created by the rchunks_exact method on slices.

    \n

    \u00a7Example

    \n
    let slice = ['l', 'o', 'r', 'e', 'm'];\n let iter = slice.rchunks_exact(2);
    Run
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, T> RChunksExact<'a, T>

    source

    pub fn remainder(&self) -> &'a [T]

    Returns the remainder of the original slice that is not going to be\n+

    Implementations\u00a7

    source\u00a7

    impl<'a, T> RChunksExact<'a, T>

    source

    pub fn remainder(&self) -> &'a [T]

    Returns the remainder of the original slice that is not going to be\n returned by the iterator. The returned slice has at most chunk_size-1\n elements.

    \n
    \u00a7Example
    \n
    let slice = ['l', 'o', 'r', 'e', 'm'];\n let mut iter = slice.rchunks_exact(2);\n assert_eq!(iter.remainder(), &['l'][..]);\n assert_eq!(iter.next(), Some(&['e', 'm'][..]));\n assert_eq!(iter.remainder(), &['l'][..]);\n assert_eq!(iter.next(), Some(&['o', 'r'][..]));\n assert_eq!(iter.remainder(), &['l'][..]);\n assert_eq!(iter.next(), None);\n assert_eq!(iter.remainder(), &['l'][..]);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, T> Clone for RChunksExact<'a, T>

    source\u00a7

    fn clone(&self) -> RChunksExact<'a, T> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, T> Debug for RChunksExact<'a, T>
    where\n- T: Debug + 'a,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for RChunksExact<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, T> Clone for RChunksExact<'a, T>

    source\u00a7

    fn clone(&self) -> RChunksExact<'a, T> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, T> Debug for RChunksExact<'a, T>
    where\n+ T: Debug + 'a,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for RChunksExact<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(\n &mut self,\n- n: usize\n-) -> Option<<RChunksExact<'a, T> as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, T> ExactSizeIterator for RChunksExact<'a, T>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<'a, T> Iterator for RChunksExact<'a, T>

    \u00a7

    type Item = &'a [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<<RChunksExact<'a, T> as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<RChunksExact<'a, T> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ n: usize\n+) -> Option<<RChunksExact<'a, T> as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, T> ExactSizeIterator for RChunksExact<'a, T>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<'a, T> Iterator for RChunksExact<'a, T>

    \u00a7

    type Item = &'a [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<<RChunksExact<'a, T> as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<RChunksExact<'a, T> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<T> FusedIterator for RChunksExact<'_, T>

    source\u00a7

    impl<T> TrustedLen for RChunksExact<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for RChunksExact<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for RChunksExact<'a, T>
    where\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Send for RChunksExact<'a, T>
    where\n- T: Sync,

    \u00a7

    impl<'a, T> Sync for RChunksExact<'a, T>
    where\n- T: Sync,

    \u00a7

    impl<'a, T> Unpin for RChunksExact<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for RChunksExact<'a, T>
    where\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<T> FusedIterator for RChunksExact<'_, T>

    source\u00a7

    impl<T> TrustedLen for RChunksExact<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for RChunksExact<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for RChunksExact<'a, T>
    where\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Send for RChunksExact<'a, T>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T> Sync for RChunksExact<'a, T>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T> Unpin for RChunksExact<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for RChunksExact<'a, T>
    where\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RChunksExactMut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RChunksExactMut.html", "unified_diff": "@@ -1,226 +1,226 @@\n RChunksExactMut in alloc::slice - Rust
    \n-

    Struct alloc::slice::RChunksExactMut

    1.31.0 \u00b7 source \u00b7
    pub struct RChunksExactMut<'a, T>
    where\n+

    Struct alloc::slice::RChunksExactMut

    1.31.0 \u00b7 source \u00b7
    pub struct RChunksExactMut<'a, T>
    where\n T: 'a,
    { /* private fields */ }
    Expand description

    An iterator over a slice in (non-overlapping) mutable chunks (chunk_size\n elements at a time), starting at the end of the slice.

    \n

    When the slice len is not evenly divided by the chunk size, the last up to\n chunk_size-1 elements will be omitted but can be retrieved from the\n into_remainder function from the iterator.

    \n-

    This struct is created by the rchunks_exact_mut method on slices.

    \n+

    This struct is created by the rchunks_exact_mut method on slices.

    \n

    \u00a7Example

    \n
    let mut slice = ['l', 'o', 'r', 'e', 'm'];\n let iter = slice.rchunks_exact_mut(2);
    Run
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, T> RChunksExactMut<'a, T>

    source

    pub fn into_remainder(self) -> &'a mut [T]

    Returns the remainder of the original slice that is not going to be\n+

    Implementations\u00a7

    source\u00a7

    impl<'a, T> RChunksExactMut<'a, T>

    source

    pub fn into_remainder(self) -> &'a mut [T]

    Returns the remainder of the original slice that is not going to be\n returned by the iterator. The returned slice has at most chunk_size-1\n elements.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, T> Debug for RChunksExactMut<'a, T>
    where\n- T: Debug + 'a,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for RChunksExactMut<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a mut [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, T> Debug for RChunksExactMut<'a, T>
    where\n+ T: Debug + 'a,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for RChunksExactMut<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a mut [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(\n &mut self,\n- n: usize\n-) -> Option<<RChunksExactMut<'a, T> as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for RChunksExactMut<'_, T>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<'a, T> Iterator for RChunksExactMut<'a, T>

    \u00a7

    type Item = &'a mut [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<&'a mut [T]>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<RChunksExactMut<'a, T> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ n: usize\n+) -> Option<<RChunksExactMut<'a, T> as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for RChunksExactMut<'_, T>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<'a, T> Iterator for RChunksExactMut<'a, T>

    \u00a7

    type Item = &'a mut [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<&'a mut [T]>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<RChunksExactMut<'a, T> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<T> FusedIterator for RChunksExactMut<'_, T>

    source\u00a7

    impl<T> Send for RChunksExactMut<'_, T>
    where\n- T: Send,

    source\u00a7

    impl<T> Sync for RChunksExactMut<'_, T>
    where\n- T: Sync,

    source\u00a7

    impl<T> TrustedLen for RChunksExactMut<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for RChunksExactMut<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for RChunksExactMut<'a, T>
    where\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Unpin for RChunksExactMut<'a, T>

    \u00a7

    impl<'a, T> !UnwindSafe for RChunksExactMut<'a, T>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<T> FusedIterator for RChunksExactMut<'_, T>

    source\u00a7

    impl<T> Send for RChunksExactMut<'_, T>
    where\n+ T: Send,

    source\u00a7

    impl<T> Sync for RChunksExactMut<'_, T>
    where\n+ T: Sync,

    source\u00a7

    impl<T> TrustedLen for RChunksExactMut<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for RChunksExactMut<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for RChunksExactMut<'a, T>
    where\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Unpin for RChunksExactMut<'a, T>

    \u00a7

    impl<'a, T> !UnwindSafe for RChunksExactMut<'a, T>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RChunksMut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RChunksMut.html", "unified_diff": "@@ -1,222 +1,222 @@\n RChunksMut in alloc::slice - Rust
    \n-

    Struct alloc::slice::RChunksMut

    1.31.0 \u00b7 source \u00b7
    pub struct RChunksMut<'a, T>
    where\n+

    Struct alloc::slice::RChunksMut

    1.31.0 \u00b7 source \u00b7
    pub struct RChunksMut<'a, T>
    where\n T: 'a,
    { /* private fields */ }
    Expand description

    An iterator over a slice in (non-overlapping) mutable chunks (chunk_size\n elements at a time), starting at the end of the slice.

    \n

    When the slice len is not evenly divided by the chunk size, the last slice\n of the iteration will be the remainder.

    \n-

    This struct is created by the rchunks_mut method on slices.

    \n+

    This struct is created by the rchunks_mut method on slices.

    \n

    \u00a7Example

    \n
    let mut slice = ['l', 'o', 'r', 'e', 'm'];\n let iter = slice.rchunks_mut(2);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, T> Debug for RChunksMut<'a, T>
    where\n- T: Debug + 'a,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for RChunksMut<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a mut [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, T> Debug for RChunksMut<'a, T>
    where\n+ T: Debug + 'a,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for RChunksMut<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a mut [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(\n &mut self,\n- n: usize\n-) -> Option<<RChunksMut<'a, T> as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for RChunksMut<'_, T>

    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, T> Iterator for RChunksMut<'a, T>

    \u00a7

    type Item = &'a mut [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<&'a mut [T]>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<RChunksMut<'a, T> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ n: usize\n+) -> Option<<RChunksMut<'a, T> as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for RChunksMut<'_, T>

    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, T> Iterator for RChunksMut<'a, T>

    \u00a7

    type Item = &'a mut [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<&'a mut [T]>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<RChunksMut<'a, T> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<T> FusedIterator for RChunksMut<'_, T>

    source\u00a7

    impl<T> Send for RChunksMut<'_, T>
    where\n- T: Send,

    source\u00a7

    impl<T> Sync for RChunksMut<'_, T>
    where\n- T: Sync,

    source\u00a7

    impl<T> TrustedLen for RChunksMut<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for RChunksMut<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for RChunksMut<'a, T>
    where\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Unpin for RChunksMut<'a, T>

    \u00a7

    impl<'a, T> !UnwindSafe for RChunksMut<'a, T>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<T> FusedIterator for RChunksMut<'_, T>

    source\u00a7

    impl<T> Send for RChunksMut<'_, T>
    where\n+ T: Send,

    source\u00a7

    impl<T> Sync for RChunksMut<'_, T>
    where\n+ T: Sync,

    source\u00a7

    impl<T> TrustedLen for RChunksMut<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for RChunksMut<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for RChunksMut<'a, T>
    where\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Unpin for RChunksMut<'a, T>

    \u00a7

    impl<'a, T> !UnwindSafe for RChunksMut<'a, T>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RSplit.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RSplit.html", "unified_diff": "@@ -1,230 +1,230 @@\n RSplit in alloc::slice - Rust
    \n-

    Struct alloc::slice::RSplit

    1.27.0 \u00b7 source \u00b7
    pub struct RSplit<'a, T, P>
    where\n+

    Struct alloc::slice::RSplit

    1.27.0 \u00b7 source \u00b7
    pub struct RSplit<'a, T, P>
    where\n T: 'a,\n- P: FnMut(&T) -> bool,
    { /* private fields */ }
    Expand description

    An iterator over subslices separated by elements that match a predicate\n+ P: FnMut(&T) -> bool,

    { /* private fields */ }
    Expand description

    An iterator over subslices separated by elements that match a predicate\n function, starting from the end of the slice.

    \n-

    This struct is created by the rsplit method on slices.

    \n+

    This struct is created by the rsplit method on slices.

    \n

    \u00a7Example

    \n
    let slice = [11, 22, 33, 0, 44, 55];\n let iter = slice.rsplit(|num| *num == 0);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T, P> Clone for RSplit<'_, T, P>
    where\n- P: Clone + FnMut(&T) -> bool,

    source\u00a7

    fn clone(&self) -> RSplit<'_, T, P> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<T, P> Debug for RSplit<'_, T, P>
    where\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T, P> Clone for RSplit<'_, T, P>
    where\n+ P: Clone + FnMut(&T) -> bool,

    source\u00a7

    fn clone(&self) -> RSplit<'_, T, P> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<T, P> Debug for RSplit<'_, T, P>
    where\n T: Debug,\n- P: FnMut(&T) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, P> DoubleEndedIterator for RSplit<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, T, P> Iterator for RSplit<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    \u00a7

    type Item = &'a [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ P: FnMut(&T) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, P> DoubleEndedIterator for RSplit<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, T, P> Iterator for RSplit<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    \u00a7

    type Item = &'a [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<T, P> FusedIterator for RSplit<'_, T, P>
    where\n- P: FnMut(&T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, P> Freeze for RSplit<'a, T, P>
    where\n- P: Freeze,

    \u00a7

    impl<'a, T, P> RefUnwindSafe for RSplit<'a, T, P>
    where\n- P: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, P> Send for RSplit<'a, T, P>
    where\n- P: Send,\n- T: Sync,

    \u00a7

    impl<'a, T, P> Sync for RSplit<'a, T, P>
    where\n- P: Sync,\n- T: Sync,

    \u00a7

    impl<'a, T, P> Unpin for RSplit<'a, T, P>
    where\n- P: Unpin,

    \u00a7

    impl<'a, T, P> UnwindSafe for RSplit<'a, T, P>
    where\n- P: UnwindSafe,\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<T, P> FusedIterator for RSplit<'_, T, P>
    where\n+ P: FnMut(&T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, P> Freeze for RSplit<'a, T, P>
    where\n+ P: Freeze,

    \u00a7

    impl<'a, T, P> RefUnwindSafe for RSplit<'a, T, P>
    where\n+ P: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, P> Send for RSplit<'a, T, P>
    where\n+ P: Send,\n+ T: Sync,

    \u00a7

    impl<'a, T, P> Sync for RSplit<'a, T, P>
    where\n+ P: Sync,\n+ T: Sync,

    \u00a7

    impl<'a, T, P> Unpin for RSplit<'a, T, P>
    where\n+ P: Unpin,

    \u00a7

    impl<'a, T, P> UnwindSafe for RSplit<'a, T, P>
    where\n+ P: UnwindSafe,\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RSplitMut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RSplitMut.html", "unified_diff": "@@ -1,226 +1,226 @@\n RSplitMut in alloc::slice - Rust
    \n-

    Struct alloc::slice::RSplitMut

    1.27.0 \u00b7 source \u00b7
    pub struct RSplitMut<'a, T, P>
    where\n+

    Struct alloc::slice::RSplitMut

    1.27.0 \u00b7 source \u00b7
    pub struct RSplitMut<'a, T, P>
    where\n T: 'a,\n- P: FnMut(&T) -> bool,
    { /* private fields */ }
    Expand description

    An iterator over the subslices of the vector which are separated\n+ P: FnMut(&T) -> bool,

    { /* private fields */ }
    Expand description

    An iterator over the subslices of the vector which are separated\n by elements that match pred, starting from the end of the slice.

    \n-

    This struct is created by the rsplit_mut method on slices.

    \n+

    This struct is created by the rsplit_mut method on slices.

    \n

    \u00a7Example

    \n
    let mut slice = [11, 22, 33, 0, 44, 55];\n let iter = slice.rsplit_mut(|num| *num == 0);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T, P> Debug for RSplitMut<'_, T, P>
    where\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T, P> Debug for RSplitMut<'_, T, P>
    where\n T: Debug,\n- P: FnMut(&T) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, P> DoubleEndedIterator for RSplitMut<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a mut [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, T, P> Iterator for RSplitMut<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    \u00a7

    type Item = &'a mut [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ P: FnMut(&T) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, P> DoubleEndedIterator for RSplitMut<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a mut [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, T, P> Iterator for RSplitMut<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    \u00a7

    type Item = &'a mut [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<T, P> FusedIterator for RSplitMut<'_, T, P>
    where\n- P: FnMut(&T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, P> Freeze for RSplitMut<'a, T, P>
    where\n- P: Freeze,

    \u00a7

    impl<'a, T, P> RefUnwindSafe for RSplitMut<'a, T, P>
    where\n- P: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, P> Send for RSplitMut<'a, T, P>
    where\n- P: Send,\n- T: Send,

    \u00a7

    impl<'a, T, P> Sync for RSplitMut<'a, T, P>
    where\n- P: Sync,\n- T: Sync,

    \u00a7

    impl<'a, T, P> Unpin for RSplitMut<'a, T, P>
    where\n- P: Unpin,

    \u00a7

    impl<'a, T, P> !UnwindSafe for RSplitMut<'a, T, P>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<T, P> FusedIterator for RSplitMut<'_, T, P>
    where\n+ P: FnMut(&T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, P> Freeze for RSplitMut<'a, T, P>
    where\n+ P: Freeze,

    \u00a7

    impl<'a, T, P> RefUnwindSafe for RSplitMut<'a, T, P>
    where\n+ P: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, P> Send for RSplitMut<'a, T, P>
    where\n+ P: Send,\n+ T: Send,

    \u00a7

    impl<'a, T, P> Sync for RSplitMut<'a, T, P>
    where\n+ P: Sync,\n+ T: Sync,

    \u00a7

    impl<'a, T, P> Unpin for RSplitMut<'a, T, P>
    where\n+ P: Unpin,

    \u00a7

    impl<'a, T, P> !UnwindSafe for RSplitMut<'a, T, P>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RSplitN.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RSplitN.html", "unified_diff": "@@ -1,213 +1,213 @@\n RSplitN in alloc::slice - Rust
    \n-

    Struct alloc::slice::RSplitN

    1.0.0 \u00b7 source \u00b7
    pub struct RSplitN<'a, T, P>
    where\n+

    Struct alloc::slice::RSplitN

    1.0.0 \u00b7 source \u00b7
    pub struct RSplitN<'a, T, P>
    where\n T: 'a,\n- P: FnMut(&T) -> bool,
    { /* private fields */ }
    Expand description

    An iterator over subslices separated by elements that match a\n+ P: FnMut(&T) -> bool,

    { /* private fields */ }
    Expand description

    An iterator over subslices separated by elements that match a\n predicate function, limited to a given number of splits, starting\n from the end of the slice.

    \n-

    This struct is created by the rsplitn method on slices.

    \n+

    This struct is created by the rsplitn method on slices.

    \n

    \u00a7Example

    \n
    let slice = [10, 40, 30, 20, 60, 50];\n let iter = slice.rsplitn(2, |num| *num % 3 == 0);
    Run
    \n-

    Trait Implementations\u00a7

    1.9.0 \u00b7 source\u00a7

    impl<T, P> Debug for RSplitN<'_, T, P>
    where\n+

    Trait Implementations\u00a7

    1.9.0 \u00b7 source\u00a7

    impl<T, P> Debug for RSplitN<'_, T, P>
    where\n T: Debug,\n- P: FnMut(&T) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, P> Iterator for RSplitN<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    \u00a7

    type Item = &'a [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ P: FnMut(&T) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, P> Iterator for RSplitN<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    \u00a7

    type Item = &'a [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, T, P> FusedIterator for RSplitN<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, P> Freeze for RSplitN<'a, T, P>
    where\n- P: Freeze,

    \u00a7

    impl<'a, T, P> RefUnwindSafe for RSplitN<'a, T, P>
    where\n- P: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, P> Send for RSplitN<'a, T, P>
    where\n- P: Send,\n- T: Sync,

    \u00a7

    impl<'a, T, P> Sync for RSplitN<'a, T, P>
    where\n- P: Sync,\n- T: Sync,

    \u00a7

    impl<'a, T, P> Unpin for RSplitN<'a, T, P>
    where\n- P: Unpin,

    \u00a7

    impl<'a, T, P> UnwindSafe for RSplitN<'a, T, P>
    where\n- P: UnwindSafe,\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, T, P> FusedIterator for RSplitN<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, P> Freeze for RSplitN<'a, T, P>
    where\n+ P: Freeze,

    \u00a7

    impl<'a, T, P> RefUnwindSafe for RSplitN<'a, T, P>
    where\n+ P: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, P> Send for RSplitN<'a, T, P>
    where\n+ P: Send,\n+ T: Sync,

    \u00a7

    impl<'a, T, P> Sync for RSplitN<'a, T, P>
    where\n+ P: Sync,\n+ T: Sync,

    \u00a7

    impl<'a, T, P> Unpin for RSplitN<'a, T, P>
    where\n+ P: Unpin,

    \u00a7

    impl<'a, T, P> UnwindSafe for RSplitN<'a, T, P>
    where\n+ P: UnwindSafe,\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RSplitNMut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.RSplitNMut.html", "unified_diff": "@@ -1,211 +1,211 @@\n RSplitNMut in alloc::slice - Rust
    \n-

    Struct alloc::slice::RSplitNMut

    1.0.0 \u00b7 source \u00b7
    pub struct RSplitNMut<'a, T, P>
    where\n+

    Struct alloc::slice::RSplitNMut

    1.0.0 \u00b7 source \u00b7
    pub struct RSplitNMut<'a, T, P>
    where\n T: 'a,\n- P: FnMut(&T) -> bool,
    { /* private fields */ }
    Expand description

    An iterator over subslices separated by elements that match a\n+ P: FnMut(&T) -> bool,

    { /* private fields */ }
    Expand description

    An iterator over subslices separated by elements that match a\n predicate function, limited to a given number of splits, starting\n from the end of the slice.

    \n-

    This struct is created by the rsplitn_mut method on slices.

    \n+

    This struct is created by the rsplitn_mut method on slices.

    \n

    \u00a7Example

    \n
    let mut slice = [10, 40, 30, 20, 60, 50];\n let iter = slice.rsplitn_mut(2, |num| *num % 3 == 0);
    Run
    \n-

    Trait Implementations\u00a7

    1.9.0 \u00b7 source\u00a7

    impl<T, P> Debug for RSplitNMut<'_, T, P>
    where\n+

    Trait Implementations\u00a7

    1.9.0 \u00b7 source\u00a7

    impl<T, P> Debug for RSplitNMut<'_, T, P>
    where\n T: Debug,\n- P: FnMut(&T) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, P> Iterator for RSplitNMut<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    \u00a7

    type Item = &'a mut [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ P: FnMut(&T) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, P> Iterator for RSplitNMut<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    \u00a7

    type Item = &'a mut [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, T, P> FusedIterator for RSplitNMut<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, P> Freeze for RSplitNMut<'a, T, P>
    where\n- P: Freeze,

    \u00a7

    impl<'a, T, P> RefUnwindSafe for RSplitNMut<'a, T, P>
    where\n- P: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, P> Send for RSplitNMut<'a, T, P>
    where\n- P: Send,\n- T: Send,

    \u00a7

    impl<'a, T, P> Sync for RSplitNMut<'a, T, P>
    where\n- P: Sync,\n- T: Sync,

    \u00a7

    impl<'a, T, P> Unpin for RSplitNMut<'a, T, P>
    where\n- P: Unpin,

    \u00a7

    impl<'a, T, P> !UnwindSafe for RSplitNMut<'a, T, P>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, T, P> FusedIterator for RSplitNMut<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, P> Freeze for RSplitNMut<'a, T, P>
    where\n+ P: Freeze,

    \u00a7

    impl<'a, T, P> RefUnwindSafe for RSplitNMut<'a, T, P>
    where\n+ P: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, P> Send for RSplitNMut<'a, T, P>
    where\n+ P: Send,\n+ T: Send,

    \u00a7

    impl<'a, T, P> Sync for RSplitNMut<'a, T, P>
    where\n+ P: Sync,\n+ T: Sync,

    \u00a7

    impl<'a, T, P> Unpin for RSplitNMut<'a, T, P>
    where\n+ P: Unpin,

    \u00a7

    impl<'a, T, P> !UnwindSafe for RSplitNMut<'a, T, P>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.Split.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.Split.html", "unified_diff": "@@ -1,239 +1,239 @@\n Split in alloc::slice - Rust
    \n-

    Struct alloc::slice::Split

    1.0.0 \u00b7 source \u00b7
    pub struct Split<'a, T, P>
    where\n+

    Struct alloc::slice::Split

    1.0.0 \u00b7 source \u00b7
    pub struct Split<'a, T, P>
    where\n T: 'a,\n- P: FnMut(&T) -> bool,
    { /* private fields */ }
    Expand description

    An iterator over subslices separated by elements that match a predicate\n+ P: FnMut(&T) -> bool,

    { /* private fields */ }
    Expand description

    An iterator over subslices separated by elements that match a predicate\n function.

    \n-

    This struct is created by the split method on slices.

    \n+

    This struct is created by the split method on slices.

    \n

    \u00a7Example

    \n
    let slice = [10, 40, 33, 20];\n let mut iter = slice.split(|num| num % 3 == 0);
    Run
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, T, P> Split<'a, T, P>
    where\n+

    Implementations\u00a7

    source\u00a7

    impl<'a, T, P> Split<'a, T, P>
    where\n T: 'a,\n- P: FnMut(&T) -> bool,

    source

    pub fn as_slice(&self) -> &'a [T]

    \ud83d\udd2cThis is a nightly-only experimental API. (split_as_slice #96137)

    Returns a slice which contains items not yet handled by split.

    \n+ P: FnMut(&T) -> bool,
    source

    pub fn as_slice(&self) -> &'a [T]

    \ud83d\udd2cThis is a nightly-only experimental API. (split_as_slice #96137)

    Returns a slice which contains items not yet handled by split.

    \n
    \u00a7Example
    \n
    #![feature(split_as_slice)]\n let slice = [1,2,3,4,5];\n let mut split = slice.split(|v| v % 2 == 0);\n assert!(split.next().is_some());\n assert_eq!(split.as_slice(), &[3,4,5]);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T, P> Clone for Split<'_, T, P>
    where\n- P: Clone + FnMut(&T) -> bool,

    source\u00a7

    fn clone(&self) -> Split<'_, T, P> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.9.0 \u00b7 source\u00a7

    impl<T, P> Debug for Split<'_, T, P>
    where\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T, P> Clone for Split<'_, T, P>
    where\n+ P: Clone + FnMut(&T) -> bool,

    source\u00a7

    fn clone(&self) -> Split<'_, T, P> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.9.0 \u00b7 source\u00a7

    impl<T, P> Debug for Split<'_, T, P>
    where\n T: Debug,\n- P: FnMut(&T) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, P> DoubleEndedIterator for Split<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, T, P> Iterator for Split<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    \u00a7

    type Item = &'a [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ P: FnMut(&T) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, P> DoubleEndedIterator for Split<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, T, P> Iterator for Split<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    \u00a7

    type Item = &'a [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T, P> FusedIterator for Split<'_, T, P>
    where\n- P: FnMut(&T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, P> Freeze for Split<'a, T, P>
    where\n- P: Freeze,

    \u00a7

    impl<'a, T, P> RefUnwindSafe for Split<'a, T, P>
    where\n- P: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, P> Send for Split<'a, T, P>
    where\n- P: Send,\n- T: Sync,

    \u00a7

    impl<'a, T, P> Sync for Split<'a, T, P>
    where\n- P: Sync,\n- T: Sync,

    \u00a7

    impl<'a, T, P> Unpin for Split<'a, T, P>
    where\n- P: Unpin,

    \u00a7

    impl<'a, T, P> UnwindSafe for Split<'a, T, P>
    where\n- P: UnwindSafe,\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T, P> FusedIterator for Split<'_, T, P>
    where\n+ P: FnMut(&T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, P> Freeze for Split<'a, T, P>
    where\n+ P: Freeze,

    \u00a7

    impl<'a, T, P> RefUnwindSafe for Split<'a, T, P>
    where\n+ P: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, P> Send for Split<'a, T, P>
    where\n+ P: Send,\n+ T: Sync,

    \u00a7

    impl<'a, T, P> Sync for Split<'a, T, P>
    where\n+ P: Sync,\n+ T: Sync,

    \u00a7

    impl<'a, T, P> Unpin for Split<'a, T, P>
    where\n+ P: Unpin,

    \u00a7

    impl<'a, T, P> UnwindSafe for Split<'a, T, P>
    where\n+ P: UnwindSafe,\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.SplitInclusive.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.SplitInclusive.html", "unified_diff": "@@ -1,231 +1,231 @@\n SplitInclusive in alloc::slice - Rust
    \n-

    Struct alloc::slice::SplitInclusive

    1.51.0 \u00b7 source \u00b7
    pub struct SplitInclusive<'a, T, P>
    where\n+

    Struct alloc::slice::SplitInclusive

    1.51.0 \u00b7 source \u00b7
    pub struct SplitInclusive<'a, T, P>
    where\n T: 'a,\n- P: FnMut(&T) -> bool,
    { /* private fields */ }
    Expand description

    An iterator over subslices separated by elements that match a predicate\n+ P: FnMut(&T) -> bool,

    { /* private fields */ }
    Expand description

    An iterator over subslices separated by elements that match a predicate\n function. Unlike Split, it contains the matched part as a terminator\n of the subslice.

    \n-

    This struct is created by the split_inclusive method on slices.

    \n+

    This struct is created by the split_inclusive method on slices.

    \n

    \u00a7Example

    \n
    let slice = [10, 40, 33, 20];\n let mut iter = slice.split_inclusive(|num| num % 3 == 0);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T, P> Clone for SplitInclusive<'_, T, P>
    where\n- P: Clone + FnMut(&T) -> bool,

    source\u00a7

    fn clone(&self) -> SplitInclusive<'_, T, P> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<T, P> Debug for SplitInclusive<'_, T, P>
    where\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T, P> Clone for SplitInclusive<'_, T, P>
    where\n+ P: Clone + FnMut(&T) -> bool,

    source\u00a7

    fn clone(&self) -> SplitInclusive<'_, T, P> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<T, P> Debug for SplitInclusive<'_, T, P>
    where\n T: Debug,\n- P: FnMut(&T) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, P> DoubleEndedIterator for SplitInclusive<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, T, P> Iterator for SplitInclusive<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    \u00a7

    type Item = &'a [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ P: FnMut(&T) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, P> DoubleEndedIterator for SplitInclusive<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, T, P> Iterator for SplitInclusive<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    \u00a7

    type Item = &'a [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<T, P> FusedIterator for SplitInclusive<'_, T, P>
    where\n- P: FnMut(&T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, P> Freeze for SplitInclusive<'a, T, P>
    where\n- P: Freeze,

    \u00a7

    impl<'a, T, P> RefUnwindSafe for SplitInclusive<'a, T, P>
    where\n- P: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, P> Send for SplitInclusive<'a, T, P>
    where\n- P: Send,\n- T: Sync,

    \u00a7

    impl<'a, T, P> Sync for SplitInclusive<'a, T, P>
    where\n- P: Sync,\n- T: Sync,

    \u00a7

    impl<'a, T, P> Unpin for SplitInclusive<'a, T, P>
    where\n- P: Unpin,

    \u00a7

    impl<'a, T, P> UnwindSafe for SplitInclusive<'a, T, P>
    where\n- P: UnwindSafe,\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<T, P> FusedIterator for SplitInclusive<'_, T, P>
    where\n+ P: FnMut(&T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, P> Freeze for SplitInclusive<'a, T, P>
    where\n+ P: Freeze,

    \u00a7

    impl<'a, T, P> RefUnwindSafe for SplitInclusive<'a, T, P>
    where\n+ P: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, P> Send for SplitInclusive<'a, T, P>
    where\n+ P: Send,\n+ T: Sync,

    \u00a7

    impl<'a, T, P> Sync for SplitInclusive<'a, T, P>
    where\n+ P: Sync,\n+ T: Sync,

    \u00a7

    impl<'a, T, P> Unpin for SplitInclusive<'a, T, P>
    where\n+ P: Unpin,

    \u00a7

    impl<'a, T, P> UnwindSafe for SplitInclusive<'a, T, P>
    where\n+ P: UnwindSafe,\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.SplitInclusiveMut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.SplitInclusiveMut.html", "unified_diff": "@@ -1,227 +1,227 @@\n SplitInclusiveMut in alloc::slice - Rust
    \n-

    Struct alloc::slice::SplitInclusiveMut

    1.51.0 \u00b7 source \u00b7
    pub struct SplitInclusiveMut<'a, T, P>
    where\n+

    Struct alloc::slice::SplitInclusiveMut

    1.51.0 \u00b7 source \u00b7
    pub struct SplitInclusiveMut<'a, T, P>
    where\n T: 'a,\n- P: FnMut(&T) -> bool,
    { /* private fields */ }
    Expand description

    An iterator over the mutable subslices of the vector which are separated\n+ P: FnMut(&T) -> bool,

    { /* private fields */ }
    Expand description

    An iterator over the mutable subslices of the vector which are separated\n by elements that match pred. Unlike SplitMut, it contains the matched\n parts in the ends of the subslices.

    \n-

    This struct is created by the split_inclusive_mut method on slices.

    \n+

    This struct is created by the split_inclusive_mut method on slices.

    \n

    \u00a7Example

    \n
    let mut v = [10, 40, 30, 20, 60, 50];\n let iter = v.split_inclusive_mut(|num| *num % 3 == 0);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T, P> Debug for SplitInclusiveMut<'_, T, P>
    where\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T, P> Debug for SplitInclusiveMut<'_, T, P>
    where\n T: Debug,\n- P: FnMut(&T) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, P> DoubleEndedIterator for SplitInclusiveMut<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a mut [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, T, P> Iterator for SplitInclusiveMut<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    \u00a7

    type Item = &'a mut [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ P: FnMut(&T) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, P> DoubleEndedIterator for SplitInclusiveMut<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a mut [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, T, P> Iterator for SplitInclusiveMut<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    \u00a7

    type Item = &'a mut [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<T, P> FusedIterator for SplitInclusiveMut<'_, T, P>
    where\n- P: FnMut(&T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, P> Freeze for SplitInclusiveMut<'a, T, P>
    where\n- P: Freeze,

    \u00a7

    impl<'a, T, P> RefUnwindSafe for SplitInclusiveMut<'a, T, P>
    where\n- P: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, P> Send for SplitInclusiveMut<'a, T, P>
    where\n- P: Send,\n- T: Send,

    \u00a7

    impl<'a, T, P> Sync for SplitInclusiveMut<'a, T, P>
    where\n- P: Sync,\n- T: Sync,

    \u00a7

    impl<'a, T, P> Unpin for SplitInclusiveMut<'a, T, P>
    where\n- P: Unpin,

    \u00a7

    impl<'a, T, P> !UnwindSafe for SplitInclusiveMut<'a, T, P>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<T, P> FusedIterator for SplitInclusiveMut<'_, T, P>
    where\n+ P: FnMut(&T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, P> Freeze for SplitInclusiveMut<'a, T, P>
    where\n+ P: Freeze,

    \u00a7

    impl<'a, T, P> RefUnwindSafe for SplitInclusiveMut<'a, T, P>
    where\n+ P: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, P> Send for SplitInclusiveMut<'a, T, P>
    where\n+ P: Send,\n+ T: Send,

    \u00a7

    impl<'a, T, P> Sync for SplitInclusiveMut<'a, T, P>
    where\n+ P: Sync,\n+ T: Sync,

    \u00a7

    impl<'a, T, P> Unpin for SplitInclusiveMut<'a, T, P>
    where\n+ P: Unpin,

    \u00a7

    impl<'a, T, P> !UnwindSafe for SplitInclusiveMut<'a, T, P>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.SplitMut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.SplitMut.html", "unified_diff": "@@ -1,226 +1,226 @@\n SplitMut in alloc::slice - Rust
    \n-

    Struct alloc::slice::SplitMut

    1.0.0 \u00b7 source \u00b7
    pub struct SplitMut<'a, T, P>
    where\n+

    Struct alloc::slice::SplitMut

    1.0.0 \u00b7 source \u00b7
    pub struct SplitMut<'a, T, P>
    where\n T: 'a,\n- P: FnMut(&T) -> bool,
    { /* private fields */ }
    Expand description

    An iterator over the mutable subslices of the vector which are separated\n+ P: FnMut(&T) -> bool,

    { /* private fields */ }
    Expand description

    An iterator over the mutable subslices of the vector which are separated\n by elements that match pred.

    \n-

    This struct is created by the split_mut method on slices.

    \n+

    This struct is created by the split_mut method on slices.

    \n

    \u00a7Example

    \n
    let mut v = [10, 40, 30, 20, 60, 50];\n let iter = v.split_mut(|num| *num % 3 == 0);
    Run
    \n-

    Trait Implementations\u00a7

    1.9.0 \u00b7 source\u00a7

    impl<T, P> Debug for SplitMut<'_, T, P>
    where\n+

    Trait Implementations\u00a7

    1.9.0 \u00b7 source\u00a7

    impl<T, P> Debug for SplitMut<'_, T, P>
    where\n T: Debug,\n- P: FnMut(&T) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, P> DoubleEndedIterator for SplitMut<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a mut [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, T, P> Iterator for SplitMut<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    \u00a7

    type Item = &'a mut [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ P: FnMut(&T) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, P> DoubleEndedIterator for SplitMut<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a mut [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, T, P> Iterator for SplitMut<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    \u00a7

    type Item = &'a mut [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T, P> FusedIterator for SplitMut<'_, T, P>
    where\n- P: FnMut(&T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, P> Freeze for SplitMut<'a, T, P>
    where\n- P: Freeze,

    \u00a7

    impl<'a, T, P> RefUnwindSafe for SplitMut<'a, T, P>
    where\n- P: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, P> Send for SplitMut<'a, T, P>
    where\n- P: Send,\n- T: Send,

    \u00a7

    impl<'a, T, P> Sync for SplitMut<'a, T, P>
    where\n- P: Sync,\n- T: Sync,

    \u00a7

    impl<'a, T, P> Unpin for SplitMut<'a, T, P>
    where\n- P: Unpin,

    \u00a7

    impl<'a, T, P> !UnwindSafe for SplitMut<'a, T, P>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T, P> FusedIterator for SplitMut<'_, T, P>
    where\n+ P: FnMut(&T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, P> Freeze for SplitMut<'a, T, P>
    where\n+ P: Freeze,

    \u00a7

    impl<'a, T, P> RefUnwindSafe for SplitMut<'a, T, P>
    where\n+ P: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, P> Send for SplitMut<'a, T, P>
    where\n+ P: Send,\n+ T: Send,

    \u00a7

    impl<'a, T, P> Sync for SplitMut<'a, T, P>
    where\n+ P: Sync,\n+ T: Sync,

    \u00a7

    impl<'a, T, P> Unpin for SplitMut<'a, T, P>
    where\n+ P: Unpin,

    \u00a7

    impl<'a, T, P> !UnwindSafe for SplitMut<'a, T, P>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.SplitN.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.SplitN.html", "unified_diff": "@@ -1,212 +1,212 @@\n SplitN in alloc::slice - Rust
    \n-

    Struct alloc::slice::SplitN

    1.0.0 \u00b7 source \u00b7
    pub struct SplitN<'a, T, P>
    where\n+

    Struct alloc::slice::SplitN

    1.0.0 \u00b7 source \u00b7
    pub struct SplitN<'a, T, P>
    where\n T: 'a,\n- P: FnMut(&T) -> bool,
    { /* private fields */ }
    Expand description

    An iterator over subslices separated by elements that match a predicate\n+ P: FnMut(&T) -> bool,

    { /* private fields */ }
    Expand description

    An iterator over subslices separated by elements that match a predicate\n function, limited to a given number of splits.

    \n-

    This struct is created by the splitn method on slices.

    \n+

    This struct is created by the splitn method on slices.

    \n

    \u00a7Example

    \n
    let slice = [10, 40, 30, 20, 60, 50];\n let iter = slice.splitn(2, |num| *num % 3 == 0);
    Run
    \n-

    Trait Implementations\u00a7

    1.9.0 \u00b7 source\u00a7

    impl<T, P> Debug for SplitN<'_, T, P>
    where\n+

    Trait Implementations\u00a7

    1.9.0 \u00b7 source\u00a7

    impl<T, P> Debug for SplitN<'_, T, P>
    where\n T: Debug,\n- P: FnMut(&T) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, P> Iterator for SplitN<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    \u00a7

    type Item = &'a [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ P: FnMut(&T) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, P> Iterator for SplitN<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    \u00a7

    type Item = &'a [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, T, P> FusedIterator for SplitN<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, P> Freeze for SplitN<'a, T, P>
    where\n- P: Freeze,

    \u00a7

    impl<'a, T, P> RefUnwindSafe for SplitN<'a, T, P>
    where\n- P: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, P> Send for SplitN<'a, T, P>
    where\n- P: Send,\n- T: Sync,

    \u00a7

    impl<'a, T, P> Sync for SplitN<'a, T, P>
    where\n- P: Sync,\n- T: Sync,

    \u00a7

    impl<'a, T, P> Unpin for SplitN<'a, T, P>
    where\n- P: Unpin,

    \u00a7

    impl<'a, T, P> UnwindSafe for SplitN<'a, T, P>
    where\n- P: UnwindSafe,\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, T, P> FusedIterator for SplitN<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, P> Freeze for SplitN<'a, T, P>
    where\n+ P: Freeze,

    \u00a7

    impl<'a, T, P> RefUnwindSafe for SplitN<'a, T, P>
    where\n+ P: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, P> Send for SplitN<'a, T, P>
    where\n+ P: Send,\n+ T: Sync,

    \u00a7

    impl<'a, T, P> Sync for SplitN<'a, T, P>
    where\n+ P: Sync,\n+ T: Sync,

    \u00a7

    impl<'a, T, P> Unpin for SplitN<'a, T, P>
    where\n+ P: Unpin,

    \u00a7

    impl<'a, T, P> UnwindSafe for SplitN<'a, T, P>
    where\n+ P: UnwindSafe,\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.SplitNMut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.SplitNMut.html", "unified_diff": "@@ -1,210 +1,210 @@\n SplitNMut in alloc::slice - Rust
    \n-

    Struct alloc::slice::SplitNMut

    1.0.0 \u00b7 source \u00b7
    pub struct SplitNMut<'a, T, P>
    where\n+

    Struct alloc::slice::SplitNMut

    1.0.0 \u00b7 source \u00b7
    pub struct SplitNMut<'a, T, P>
    where\n T: 'a,\n- P: FnMut(&T) -> bool,
    { /* private fields */ }
    Expand description

    An iterator over subslices separated by elements that match a predicate\n+ P: FnMut(&T) -> bool,

    { /* private fields */ }
    Expand description

    An iterator over subslices separated by elements that match a predicate\n function, limited to a given number of splits.

    \n-

    This struct is created by the splitn_mut method on slices.

    \n+

    This struct is created by the splitn_mut method on slices.

    \n

    \u00a7Example

    \n
    let mut slice = [10, 40, 30, 20, 60, 50];\n let iter = slice.splitn_mut(2, |num| *num % 3 == 0);
    Run
    \n-

    Trait Implementations\u00a7

    1.9.0 \u00b7 source\u00a7

    impl<T, P> Debug for SplitNMut<'_, T, P>
    where\n+

    Trait Implementations\u00a7

    1.9.0 \u00b7 source\u00a7

    impl<T, P> Debug for SplitNMut<'_, T, P>
    where\n T: Debug,\n- P: FnMut(&T) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, P> Iterator for SplitNMut<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    \u00a7

    type Item = &'a mut [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ P: FnMut(&T) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T, P> Iterator for SplitNMut<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    \u00a7

    type Item = &'a mut [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a mut [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, T, P> FusedIterator for SplitNMut<'a, T, P>
    where\n- P: FnMut(&T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, P> Freeze for SplitNMut<'a, T, P>
    where\n- P: Freeze,

    \u00a7

    impl<'a, T, P> RefUnwindSafe for SplitNMut<'a, T, P>
    where\n- P: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, P> Send for SplitNMut<'a, T, P>
    where\n- P: Send,\n- T: Send,

    \u00a7

    impl<'a, T, P> Sync for SplitNMut<'a, T, P>
    where\n- P: Sync,\n- T: Sync,

    \u00a7

    impl<'a, T, P> Unpin for SplitNMut<'a, T, P>
    where\n- P: Unpin,

    \u00a7

    impl<'a, T, P> !UnwindSafe for SplitNMut<'a, T, P>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, T, P> FusedIterator for SplitNMut<'a, T, P>
    where\n+ P: FnMut(&T) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, P> Freeze for SplitNMut<'a, T, P>
    where\n+ P: Freeze,

    \u00a7

    impl<'a, T, P> RefUnwindSafe for SplitNMut<'a, T, P>
    where\n+ P: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, P> Send for SplitNMut<'a, T, P>
    where\n+ P: Send,\n+ T: Send,

    \u00a7

    impl<'a, T, P> Sync for SplitNMut<'a, T, P>
    where\n+ P: Sync,\n+ T: Sync,

    \u00a7

    impl<'a, T, P> Unpin for SplitNMut<'a, T, P>
    where\n+ P: Unpin,

    \u00a7

    impl<'a, T, P> !UnwindSafe for SplitNMut<'a, T, P>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.Windows.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/struct.Windows.html", "unified_diff": "@@ -1,219 +1,219 @@\n Windows in alloc::slice - Rust
    \n-

    Struct alloc::slice::Windows

    1.0.0 \u00b7 source \u00b7
    pub struct Windows<'a, T>
    where\n+

    Struct alloc::slice::Windows

    1.0.0 \u00b7 source \u00b7
    pub struct Windows<'a, T>
    where\n T: 'a,
    { /* private fields */ }
    Expand description

    An iterator over overlapping subslices of length size.

    \n-

    This struct is created by the windows method on slices.

    \n+

    This struct is created by the windows method on slices.

    \n

    \u00a7Example

    \n
    let slice = ['r', 'u', 's', 't'];\n let iter = slice.windows(2);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T> Clone for Windows<'_, T>

    source\u00a7

    fn clone(&self) -> Windows<'_, T> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, T> Debug for Windows<'a, T>
    where\n- T: Debug + 'a,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for Windows<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<<Windows<'a, T> as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for Windows<'_, T>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, T> Iterator for Windows<'a, T>

    \u00a7

    type Item = &'a [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<<Windows<'a, T> as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<Windows<'a, T> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T> Clone for Windows<'_, T>

    source\u00a7

    fn clone(&self) -> Windows<'_, T> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, T> Debug for Windows<'a, T>
    where\n+ T: Debug + 'a,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, T> DoubleEndedIterator for Windows<'a, T>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a [T]>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<<Windows<'a, T> as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T> ExactSizeIterator for Windows<'_, T>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<'a, T> Iterator for Windows<'a, T>

    \u00a7

    type Item = &'a [T]

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a [T]>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<<Windows<'a, T> as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<<Windows<'a, T> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T> FusedIterator for Windows<'_, T>

    source\u00a7

    impl<T> TrustedLen for Windows<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for Windows<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for Windows<'a, T>
    where\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Send for Windows<'a, T>
    where\n- T: Sync,

    \u00a7

    impl<'a, T> Sync for Windows<'a, T>
    where\n- T: Sync,

    \u00a7

    impl<'a, T> Unpin for Windows<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for Windows<'a, T>
    where\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T> FusedIterator for Windows<'_, T>

    source\u00a7

    impl<T> TrustedLen for Windows<'_, T>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T> Freeze for Windows<'a, T>

    \u00a7

    impl<'a, T> RefUnwindSafe for Windows<'a, T>
    where\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T> Send for Windows<'a, T>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T> Sync for Windows<'a, T>
    where\n+ T: Sync,

    \u00a7

    impl<'a, T> Unpin for Windows<'a, T>

    \u00a7

    impl<'a, T> UnwindSafe for Windows<'a, T>
    where\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/trait.Concat.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/trait.Concat.html", "unified_diff": "@@ -1,14 +1,14 @@\n Concat in alloc::slice - Rust
    \n-

    Trait alloc::slice::Concat

    source \u00b7
    pub trait Concat<Item: ?Sized> {\n+    

    Trait alloc::slice::Concat

    source \u00b7
    pub trait Concat<Item: ?Sized> {\n     type Output;\n \n     // Required method\n-    fn concat(slice: &Self) -> Self::Output;\n-}
    \ud83d\udd2cThis is a nightly-only experimental API. (slice_concat_trait #27747)
    Expand description

    Helper trait for [T]::concat.

    \n+ fn concat(slice: &Self) -> Self::Output;\n+}
    \ud83d\udd2cThis is a nightly-only experimental API. (slice_concat_trait #27747)
    Expand description

    Helper trait for [T]::concat.

    \n

    Note: the Item type parameter is not used in this trait,\n but it allows impls to be more generic.\n Without it, we get this error:

    \n
    error[E0207]: the type parameter `T` is not constrained by the impl trait, self type, or predica\n    --> library/alloc/src/slice.rs:608:6\n     |\n 608 | impl<T: Clone, V: Borrow<[T]>> Concat for [V] {\n@@ -23,11 +23,11 @@\n     fn borrow(&self) -> &[u32] { &self.0 }\n }\n \n impl std::borrow::Borrow<[String]> for Foo {\n     fn borrow(&self) -> &[String] { &self.1 }\n }
    Run
    \n

    Required Associated Types\u00a7

    source

    type Output

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_concat_trait #27747)

    The resulting type after concatenation

    \n-

    Required Methods\u00a7

    source

    fn concat(slice: &Self) -> Self::Output

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_concat_trait #27747)

    Implementation of [T]::concat

    \n-

    Object Safety\u00a7

    This trait is not object safe.

    Implementors\u00a7

    source\u00a7

    impl<S: Borrow<str>> Concat<str> for [S]

    Note: str in Concat<str> is not meaningful here.\n+

    Required Methods\u00a7

    source

    fn concat(slice: &Self) -> Self::Output

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_concat_trait #27747)

    Implementation of [T]::concat

    \n+

    Object Safety\u00a7

    This trait is not object safe.

    Implementors\u00a7

    source\u00a7

    impl<S: Borrow<str>> Concat<str> for [S]

    Note: str in Concat<str> is not meaningful here.\n This type parameter of the trait only exists to enable another impl.

    \n-
    source\u00a7

    impl<T: Clone, V: Borrow<[T]>> Concat<T> for [V]

    \u00a7

    type Output = Vec<T>

    \n+
    source\u00a7

    impl<T: Clone, V: Borrow<[T]>> Concat<T> for [V]

    \u00a7

    type Output = Vec<T>

    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/trait.Join.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/trait.Join.html", "unified_diff": "@@ -1,10 +1,10 @@\n Join in alloc::slice - Rust
    \n

    Trait alloc::slice::Join

    source \u00b7
    pub trait Join<Separator> {\n     type Output;\n \n     // Required method\n-    fn join(slice: &Self, sep: Separator) -> Self::Output;\n-}
    \ud83d\udd2cThis is a nightly-only experimental API. (slice_concat_trait #27747)
    Expand description

    Helper trait for [T]::join

    \n+ fn join(slice: &Self, sep: Separator) -> Self::Output;\n+}
    \ud83d\udd2cThis is a nightly-only experimental API. (slice_concat_trait #27747)
    Expand description

    Helper trait for [T]::join

    \n

    Required Associated Types\u00a7

    source

    type Output

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_concat_trait #27747)

    The resulting type after concatenation

    \n-

    Required Methods\u00a7

    source

    fn join(slice: &Self, sep: Separator) -> Self::Output

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_concat_trait #27747)

    Implementation of [T]::join

    \n-

    Object Safety\u00a7

    This trait is not object safe.

    Implementors\u00a7

    \n+

    Required Methods\u00a7

    source

    fn join(slice: &Self, sep: Separator) -> Self::Output

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_concat_trait #27747)

    Implementation of [T]::join

    \n+

    Object Safety\u00a7

    This trait is not object safe.

    Implementors\u00a7

    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/slice/trait.SliceIndex.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/slice/trait.SliceIndex.html", "unified_diff": "@@ -1,49 +1,49 @@\n SliceIndex in alloc::slice - Rust
    \n-

    Trait alloc::slice::SliceIndex

    1.28.0 \u00b7 source \u00b7
    pub unsafe trait SliceIndex<T>: Sealed
    where\n- T: ?Sized,
    {\n- type Output: ?Sized;\n+

    Trait alloc::slice::SliceIndex

    1.28.0 \u00b7 source \u00b7
    pub unsafe trait SliceIndex<T>: Sealed
    where\n+ T: ?Sized,
    {\n+ type Output: ?Sized;\n \n // Required methods\n- fn get(self, slice: &T) -> Option<&Self::Output>;\n- fn get_mut(self, slice: &mut T) -> Option<&mut Self::Output>;\n- unsafe fn get_unchecked(self, slice: *const T) -> *const Self::Output;\n- unsafe fn get_unchecked_mut(self, slice: *mut T) -> *mut Self::Output;\n- fn index(self, slice: &T) -> &Self::Output;\n- fn index_mut(self, slice: &mut T) -> &mut Self::Output;\n+ fn get(self, slice: &T) -> Option<&Self::Output>;\n+ fn get_mut(self, slice: &mut T) -> Option<&mut Self::Output>;\n+ unsafe fn get_unchecked(self, slice: *const T) -> *const Self::Output;\n+ unsafe fn get_unchecked_mut(self, slice: *mut T) -> *mut Self::Output;\n+ fn index(self, slice: &T) -> &Self::Output;\n+ fn index_mut(self, slice: &mut T) -> &mut Self::Output;\n }
    Expand description

    A helper trait used for indexing operations.

    \n

    Implementations of this trait have to promise that if the argument\n to get_unchecked(_mut) is a safe reference, then so is the result.

    \n-

    Required Associated Types\u00a7

    source

    type Output: ?Sized

    The output type returned by methods.

    \n-

    Required Methods\u00a7

    source

    fn get(self, slice: &T) -> Option<&Self::Output>

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_index_methods)

    Returns a shared reference to the output at this location, if in\n+

    Required Associated Types\u00a7

    source

    type Output: ?Sized

    The output type returned by methods.

    \n+

    Required Methods\u00a7

    source

    fn get(self, slice: &T) -> Option<&Self::Output>

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_index_methods)

    Returns a shared reference to the output at this location, if in\n bounds.

    \n-
    source

    fn get_mut(self, slice: &mut T) -> Option<&mut Self::Output>

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_index_methods)

    Returns a mutable reference to the output at this location, if in\n+

    source

    fn get_mut(self, slice: &mut T) -> Option<&mut Self::Output>

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_index_methods)

    Returns a mutable reference to the output at this location, if in\n bounds.

    \n-
    source

    unsafe fn get_unchecked(self, slice: *const T) -> *const Self::Output

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_index_methods)

    Returns a pointer to the output at this location, without\n+

    source

    unsafe fn get_unchecked(self, slice: *const T) -> *const Self::Output

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_index_methods)

    Returns a pointer to the output at this location, without\n performing any bounds checking.\n Calling this method with an out-of-bounds index or a dangling slice pointer\n is undefined behavior even if the resulting pointer is not used.

    \n-
    source

    unsafe fn get_unchecked_mut(self, slice: *mut T) -> *mut Self::Output

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_index_methods)

    Returns a mutable pointer to the output at this location, without\n+

    source

    unsafe fn get_unchecked_mut(self, slice: *mut T) -> *mut Self::Output

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_index_methods)

    Returns a mutable pointer to the output at this location, without\n performing any bounds checking.\n Calling this method with an out-of-bounds index or a dangling slice pointer\n is undefined behavior even if the resulting pointer is not used.

    \n-
    source

    fn index(self, slice: &T) -> &Self::Output

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_index_methods)

    Returns a shared reference to the output at this location, panicking\n+

    source

    fn index(self, slice: &T) -> &Self::Output

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_index_methods)

    Returns a shared reference to the output at this location, panicking\n if out of bounds.

    \n-
    source

    fn index_mut(self, slice: &mut T) -> &mut Self::Output

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_index_methods)

    Returns a mutable reference to the output at this location, panicking\n+

    source

    fn index_mut(self, slice: &mut T) -> &mut Self::Output

    \ud83d\udd2cThis is a nightly-only experimental API. (slice_index_methods)

    Returns a mutable reference to the output at this location, panicking\n if out of bounds.

    \n-

    Implementors\u00a7

    1.73.0 \u00b7 source\u00a7

    impl SliceIndex<str> for (Bound<usize>, Bound<usize>)

    Implements substring slicing for arbitrary bounds.

    \n+

    Implementors\u00a7

    1.73.0 \u00b7 source\u00a7

    impl SliceIndex<str> for (Bound<usize>, Bound<usize>)

    Implements substring slicing for arbitrary bounds.

    \n

    Returns a slice of the given string bounded by the byte indices\n provided by each bound.

    \n

    This operation is O(1).

    \n

    \u00a7Panics

    \n

    Panics if begin or end (if it exists and once adjusted for\n inclusion/exclusion) does not point to the starting byte offset of\n a character (as defined by is_char_boundary), if begin > end, or if\n end > len.

    \n-
    1.20.0 (const: unstable) \u00b7 source\u00a7

    impl SliceIndex<str> for Range<usize>

    Implements substring slicing with syntax &self[begin .. end] or &mut self[begin .. end].

    \n+
    1.20.0 (const: unstable) \u00b7 source\u00a7

    impl SliceIndex<str> for Range<usize>

    Implements substring slicing with syntax &self[begin .. end] or &mut self[begin .. end].

    \n

    Returns a slice of the given string from the byte range\n [begin, end).

    \n

    This operation is O(1).

    \n

    Prior to 1.20.0, these indexing operations were still supported by\n direct implementation of Index and IndexMut.

    \n

    \u00a7Panics

    \n

    Panics if begin or end does not point to the starting byte offset of\n@@ -60,52 +60,52 @@\n // &s[2 ..3];\n \n // byte 8 lies within `\u8001`\n // &s[1 .. 8];\n \n // byte 100 is outside the string\n // &s[3 .. 100];

    Run
    \n-
    1.20.0 (const: unstable) \u00b7 source\u00a7

    impl SliceIndex<str> for RangeFrom<usize>

    Implements substring slicing with syntax &self[begin ..] or &mut self[begin ..].

    \n+
    1.20.0 (const: unstable) \u00b7 source\u00a7

    impl SliceIndex<str> for RangeFrom<usize>

    Implements substring slicing with syntax &self[begin ..] or &mut self[begin ..].

    \n

    Returns a slice of the given string from the byte range [begin, len).\n Equivalent to &self[begin .. len] or &mut self[begin .. len].

    \n

    This operation is O(1).

    \n

    Prior to 1.20.0, these indexing operations were still supported by\n direct implementation of Index and IndexMut.

    \n

    \u00a7Panics

    \n

    Panics if begin does not point to the starting byte offset of\n a character (as defined by is_char_boundary), or if begin > len.

    \n-
    1.20.0 (const: unstable) \u00b7 source\u00a7

    impl SliceIndex<str> for RangeFull

    Implements substring slicing with syntax &self[..] or &mut self[..].

    \n+
    1.20.0 (const: unstable) \u00b7 source\u00a7

    impl SliceIndex<str> for RangeFull

    Implements substring slicing with syntax &self[..] or &mut self[..].

    \n

    Returns a slice of the whole string, i.e., returns &self or &mut self. Equivalent to &self[0 .. len] or &mut self[0 .. len]. Unlike\n other indexing operations, this can never panic.

    \n

    This operation is O(1).

    \n

    Prior to 1.20.0, these indexing operations were still supported by\n direct implementation of Index and IndexMut.

    \n

    Equivalent to &self[0 .. len] or &mut self[0 .. len].

    \n-
    1.26.0 (const: unstable) \u00b7 source\u00a7

    impl SliceIndex<str> for RangeInclusive<usize>

    Implements substring slicing with syntax &self[begin ..= end] or &mut self[begin ..= end].

    \n+
    1.26.0 (const: unstable) \u00b7 source\u00a7

    impl SliceIndex<str> for RangeInclusive<usize>

    Implements substring slicing with syntax &self[begin ..= end] or &mut self[begin ..= end].

    \n

    Returns a slice of the given string from the byte range\n [begin, end]. Equivalent to &self [begin .. end + 1] or &mut self[begin .. end + 1], except if end has the maximum value for\n usize.

    \n

    This operation is O(1).

    \n

    \u00a7Panics

    \n

    Panics if begin does not point to the starting byte offset of\n a character (as defined by is_char_boundary), if end does not point\n to the ending byte offset of a character (end + 1 is either a starting\n byte offset or equal to len), if begin > end, or if end >= len.

    \n-
    1.20.0 (const: unstable) \u00b7 source\u00a7

    impl SliceIndex<str> for RangeTo<usize>

    Implements substring slicing with syntax &self[.. end] or &mut self[.. end].

    \n+
    1.20.0 (const: unstable) \u00b7 source\u00a7

    impl SliceIndex<str> for RangeTo<usize>

    Implements substring slicing with syntax &self[.. end] or &mut self[.. end].

    \n

    Returns a slice of the given string from the byte range [0, end).\n Equivalent to &self[0 .. end] or &mut self[0 .. end].

    \n

    This operation is O(1).

    \n

    Prior to 1.20.0, these indexing operations were still supported by\n direct implementation of Index and IndexMut.

    \n

    \u00a7Panics

    \n

    Panics if end does not point to the starting byte offset of a\n character (as defined by is_char_boundary), or if end > len.

    \n-
    1.26.0 (const: unstable) \u00b7 source\u00a7

    impl SliceIndex<str> for RangeToInclusive<usize>

    Implements substring slicing with syntax &self[..= end] or &mut self[..= end].

    \n+
    1.26.0 (const: unstable) \u00b7 source\u00a7

    impl SliceIndex<str> for RangeToInclusive<usize>

    Implements substring slicing with syntax &self[..= end] or &mut self[..= end].

    \n

    Returns a slice of the given string from the byte range [0, end].\n Equivalent to &self [0 .. end + 1], except if end has the maximum\n value for usize.

    \n

    This operation is O(1).

    \n

    \u00a7Panics

    \n

    Panics if end does not point to the ending byte offset of a character\n (end + 1 is either a starting byte offset as defined by\n is_char_boundary, or equal to len), or if end >= len.

    \n-
    1.53.0 \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for (Bound<usize>, Bound<usize>)

    1.15.0 (const: unstable) \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for usize

    \u00a7

    type Output = T

    1.15.0 (const: unstable) \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for Range<usize>

    1.15.0 (const: unstable) \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for RangeFrom<usize>

    1.15.0 (const: unstable) \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for RangeFull

    1.26.0 (const: unstable) \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for RangeInclusive<usize>

    1.15.0 (const: unstable) \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for RangeTo<usize>

    1.26.0 (const: unstable) \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for RangeToInclusive<usize>

    \n+
    1.53.0 \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for (Bound<usize>, Bound<usize>)

    1.15.0 (const: unstable) \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for usize

    \u00a7

    type Output = T

    1.15.0 (const: unstable) \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for Range<usize>

    1.15.0 (const: unstable) \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for RangeFrom<usize>

    1.15.0 (const: unstable) \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for RangeFull

    1.26.0 (const: unstable) \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for RangeInclusive<usize>

    1.15.0 (const: unstable) \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for RangeTo<usize>

    1.26.0 (const: unstable) \u00b7 source\u00a7

    impl<T> SliceIndex<[T]> for RangeToInclusive<usize>

    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_boxed_utf8_unchecked.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_boxed_utf8_unchecked.html", "unified_diff": "@@ -1,9 +1,9 @@\n from_boxed_utf8_unchecked in alloc::str - Rust
    \n-

    Function alloc::str::from_boxed_utf8_unchecked

    1.20.0 \u00b7 source \u00b7
    pub unsafe fn from_boxed_utf8_unchecked(v: Box<[u8]>) -> Box<str>
    Expand description

    Converts a boxed slice of bytes to a boxed string slice without checking\n+

    Function alloc::str::from_boxed_utf8_unchecked

    1.20.0 \u00b7 source \u00b7
    pub unsafe fn from_boxed_utf8_unchecked(v: Box<[u8]>) -> Box<str>
    Expand description

    Converts a boxed slice of bytes to a boxed string slice without checking\n that the string contains valid UTF-8.

    \n

    \u00a7Examples

    \n
    let smile_utf8 = Box::new([226, 152, 186]);\n let smile = unsafe { std::str::from_boxed_utf8_unchecked(smile_utf8) };\n \n assert_eq!(\"\u263a\", &*smile);
    Run
    \n
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_raw_parts.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_raw_parts.html", "unified_diff": "@@ -1,9 +1,9 @@\n from_raw_parts in alloc::str - Rust
    \n-

    Function alloc::str::from_raw_parts

    const: unstable \u00b7 source \u00b7
    pub unsafe fn from_raw_parts<'a>(ptr: *const u8, len: usize) -> &'a str
    \ud83d\udd2cThis is a nightly-only experimental API. (str_from_raw_parts #119206)
    Expand description

    Creates an &str from a pointer and a length.

    \n+

    Function alloc::str::from_raw_parts

    const: unstable \u00b7 source \u00b7
    pub unsafe fn from_raw_parts<'a>(ptr: *const u8, len: usize) -> &'a str
    \ud83d\udd2cThis is a nightly-only experimental API. (str_from_raw_parts #119206)
    Expand description

    Creates an &str from a pointer and a length.

    \n

    The pointed-to bytes must be valid UTF-8.\n If this might not be the case, use str::from_utf8(slice::from_raw_parts(ptr, len)),\n which will return an Err if the data isn\u2019t valid UTF-8.

    \n

    This function is the str equivalent of slice::from_raw_parts.\n See that function\u2019s documentation for safety concerns and examples.

    \n

    The mutable version of this function is from_raw_parts_mut.

    \n
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_raw_parts_mut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_raw_parts_mut.html", "unified_diff": "@@ -1,9 +1,9 @@\n from_raw_parts_mut in alloc::str - Rust
    \n-

    Function alloc::str::from_raw_parts_mut

    const: unstable \u00b7 source \u00b7
    pub unsafe fn from_raw_parts_mut<'a>(ptr: *mut u8, len: usize) -> &'a str
    \ud83d\udd2cThis is a nightly-only experimental API. (str_from_raw_parts #119206)
    Expand description

    Creates an &mut str from a pointer and a length.

    \n+

    Function alloc::str::from_raw_parts_mut

    const: unstable \u00b7 source \u00b7
    pub unsafe fn from_raw_parts_mut<'a>(ptr: *mut u8, len: usize) -> &'a str
    \ud83d\udd2cThis is a nightly-only experimental API. (str_from_raw_parts #119206)
    Expand description

    Creates an &mut str from a pointer and a length.

    \n

    The pointed-to bytes must be valid UTF-8.\n If this might not be the case, use str::from_utf8_mut(slice::from_raw_parts_mut(ptr, len)),\n which will return an Err if the data isn\u2019t valid UTF-8.

    \n

    This function is the str equivalent of slice::from_raw_parts_mut.\n See that function\u2019s documentation for safety concerns and examples.

    \n

    The immutable version of this function is from_raw_parts.

    \n
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_utf8.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_utf8.html", "unified_diff": "@@ -1,22 +1,22 @@\n from_utf8 in alloc::str - Rust
    \n-

    Function alloc::str::from_utf8

    1.0.0 (const: 1.63.0) \u00b7 source \u00b7
    pub const fn from_utf8(v: &[u8]) -> Result<&str, Utf8Error>
    Expand description

    Converts a slice of bytes to a string slice.

    \n-

    A string slice (&str) is made of bytes (u8), and a byte slice\n-(&[u8]) is made of bytes, so this function converts between\n-the two. Not all byte slices are valid string slices, however: &str requires\n+

    Function alloc::str::from_utf8

    1.0.0 (const: 1.63.0) \u00b7 source \u00b7
    pub const fn from_utf8(v: &[u8]) -> Result<&str, Utf8Error>
    Expand description

    Converts a slice of bytes to a string slice.

    \n+

    A string slice (&str) is made of bytes (u8), and a byte slice\n+(&[u8]) is made of bytes, so this function converts between\n+the two. Not all byte slices are valid string slices, however: &str requires\n that it is valid UTF-8. from_utf8() checks to ensure that the bytes are valid\n UTF-8, and then does the conversion.

    \n

    If you are sure that the byte slice is valid UTF-8, and you don\u2019t want to\n incur the overhead of the validity check, there is an unsafe version of\n this function, from_utf8_unchecked, which has the same\n behavior but skips the check.

    \n

    If you need a String instead of a &str, consider\n String::from_utf8.

    \n

    Because you can stack-allocate a [u8; N], and you can take a\n-&[u8] of it, this function is one way to have a\n+&[u8] of it, this function is one way to have a\n stack-allocated string. There is an example of this in the\n examples section below.

    \n

    \u00a7Errors

    \n

    Returns Err if the slice is not UTF-8 with a description as to why the\n provided slice is not UTF-8.

    \n

    \u00a7Examples

    \n

    Basic usage:

    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_utf8_mut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_utf8_mut.html", "unified_diff": "@@ -1,9 +1,9 @@\n from_utf8_mut in alloc::str - Rust
    \n-

    Function alloc::str::from_utf8_mut

    1.20.0 (const: unstable) \u00b7 source \u00b7
    pub fn from_utf8_mut(v: &mut [u8]) -> Result<&mut str, Utf8Error>
    Expand description

    Converts a mutable slice of bytes to a mutable string slice.

    \n+

    Function alloc::str::from_utf8_mut

    1.20.0 (const: unstable) \u00b7 source \u00b7
    pub fn from_utf8_mut(v: &mut [u8]) -> Result<&mut str, Utf8Error>
    Expand description

    Converts a mutable slice of bytes to a mutable string slice.

    \n

    \u00a7Examples

    \n

    Basic usage:

    \n \n
    use std::str;\n \n // \"Hello, Rust!\" as a mutable vector\n let mut hellorust = vec![72, 101, 108, 108, 111, 44, 32, 82, 117, 115, 116, 33];\n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_utf8_unchecked.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_utf8_unchecked.html", "unified_diff": "@@ -1,9 +1,9 @@\n from_utf8_unchecked in alloc::str - Rust
    \n-

    Function alloc::str::from_utf8_unchecked

    1.0.0 (const: 1.55.0) \u00b7 source \u00b7
    pub const unsafe fn from_utf8_unchecked(v: &[u8]) -> &str
    Expand description

    Converts a slice of bytes to a string slice without checking\n+

    Function alloc::str::from_utf8_unchecked

    1.0.0 (const: 1.55.0) \u00b7 source \u00b7
    pub const unsafe fn from_utf8_unchecked(v: &[u8]) -> &str
    Expand description

    Converts a slice of bytes to a string slice without checking\n that the string contains valid UTF-8.

    \n

    See the safe version, from_utf8, for more information.

    \n

    \u00a7Safety

    \n

    The bytes passed in must be valid UTF-8.

    \n

    \u00a7Examples

    \n

    Basic usage:

    \n \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_utf8_unchecked_mut.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/fn.from_utf8_unchecked_mut.html", "unified_diff": "@@ -1,9 +1,9 @@\n from_utf8_unchecked_mut in alloc::str - Rust
    \n-

    Function alloc::str::from_utf8_unchecked_mut

    1.20.0 (const: unstable) \u00b7 source \u00b7
    pub unsafe fn from_utf8_unchecked_mut(v: &mut [u8]) -> &mut str
    Expand description

    Converts a slice of bytes to a string slice without checking\n+

    Function alloc::str::from_utf8_unchecked_mut

    1.20.0 (const: unstable) \u00b7 source \u00b7
    pub unsafe fn from_utf8_unchecked_mut(v: &mut [u8]) -> &mut str
    Expand description

    Converts a slice of bytes to a string slice without checking\n that the string contains valid UTF-8; mutable version.

    \n

    See the immutable version, from_utf8_unchecked() for more information.

    \n

    \u00a7Examples

    \n

    Basic usage:

    \n \n
    use std::str;\n \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/index.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/index.html", "unified_diff": "@@ -1,14 +1,14 @@\n alloc::str - Rust
    \n

    Module alloc::str

    1.0.0 \u00b7 source \u00b7
    Expand description

    Utilities for the str primitive type.

    \n-

    See also the str primitive type.

    \n-

    Modules\u00a7

    • patternExperimental
      The string Pattern API.

    Structs\u00a7

    Modules\u00a7

    • patternExperimental
      The string Pattern API.

    Structs\u00a7

    Traits\u00a7

    Functions\u00a7

    Traits\u00a7

    Functions\u00a7

    • Converts a boxed slice of bytes to a boxed string slice without checking\n that the string contains valid UTF-8.
    • Converts a slice of bytes to a string slice.
    • Converts a mutable slice of bytes to a mutable string slice.
    • Converts a slice of bytes to a string slice without checking\n that the string contains valid UTF-8.
    • Converts a slice of bytes to a string slice without checking\n that the string contains valid UTF-8; mutable version.
    • from_raw_parts\u26a0Experimental
      Creates an &str from a pointer and a length.
    • from_raw_parts_mut\u26a0Experimental
      Creates an &mut str from a pointer and a length.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/pattern/enum.SearchStep.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/pattern/enum.SearchStep.html", "unified_diff": "@@ -1,28 +1,28 @@\n SearchStep in alloc::str::pattern - Rust
    \n-

    Enum alloc::str::pattern::SearchStep

    source \u00b7
    pub enum SearchStep {\n-    Match(usize, usize),\n-    Reject(usize, usize),\n+    

    Enum alloc::str::pattern::SearchStep

    source \u00b7
    pub enum SearchStep {\n+    Match(usize, usize),\n+    Reject(usize, usize),\n     Done,\n }
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    Variants\u00a7

    \u00a7

    Match(usize, usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Expresses that a match of the pattern has been found at\n+

    Variants\u00a7

    \u00a7

    Match(usize, usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Expresses that a match of the pattern has been found at\n haystack[a..b].

    \n-
    \u00a7

    Reject(usize, usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Expresses that haystack[a..b] has been rejected as a possible match\n+

    \u00a7

    Reject(usize, usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Expresses that haystack[a..b] has been rejected as a possible match\n of the pattern.

    \n

    Note that there might be more than one Reject between two Matches,\n there is no requirement for them to be combined into one.

    \n
    \u00a7

    Done

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Expresses that every byte of the haystack has been visited, ending\n the iteration.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl Clone for SearchStep

    source\u00a7

    fn clone(&self) -> SearchStep

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for SearchStep

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl PartialEq for SearchStep

    source\u00a7

    fn eq(&self, other: &SearchStep) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl Copy for SearchStep

    source\u00a7

    impl Eq for SearchStep

    source\u00a7

    impl StructuralPartialEq for SearchStep

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl Clone for SearchStep

    source\u00a7

    fn clone(&self) -> SearchStep

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for SearchStep

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl PartialEq for SearchStep

    source\u00a7

    fn eq(&self, other: &SearchStep) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl Copy for SearchStep

    source\u00a7

    impl Eq for SearchStep

    source\u00a7

    impl StructuralPartialEq for SearchStep

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/pattern/index.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/pattern/index.html", "unified_diff": "@@ -1,18 +1,18 @@\n alloc::str::pattern - Rust
    \n-

    Module alloc::str::pattern

    source \u00b7
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    The string Pattern API.

    \n+

    Module alloc::str::pattern

    source \u00b7
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    The string Pattern API.

    \n

    The Pattern API provides a generic mechanism for using different pattern\n types when searching through a string.

    \n

    For more details, see the traits Pattern, Searcher,\n ReverseSearcher, and DoubleEndedSearcher.

    \n

    Although this API is unstable, it is exposed via stable APIs on the\n-str type.

    \n+str type.

    \n

    \u00a7Examples

    \n

    Pattern is implemented in the stable API for\n-&str, char, slices of char, and functions and closures\n+&str, char, slices of char, and functions and closures\n implementing FnMut(char) -> bool.

    \n \n
    let s = \"Can you find a needle in a haystack?\";\n \n // &str pattern\n assert_eq!(s.find(\"you\"), Some(4));\n // char pattern\n@@ -20,8 +20,8 @@\n // array of chars pattern\n assert_eq!(s.find(&['a', 'e', 'i', 'o', 'u']), Some(1));\n // slice of chars pattern\n assert_eq!(s.find(&['a', 'e', 'i', 'o', 'u'][..]), Some(1));\n // closure pattern\n assert_eq!(s.find(|c: char| c.is_ascii_punctuation()), Some(35));
    Run
    \n

    Structs\u00a7

    • Associated type for <&[char; N] as Pattern<'a>>::Searcher.
    • CharArraySearcherExperimental
      Associated type for <[char; N] as Pattern<'a>>::Searcher.
    • Associated type for <F as Pattern<'a>>::Searcher.
    • CharSearcherExperimental
      Associated type for <char as Pattern<'a>>::Searcher.
    • CharSliceSearcherExperimental
      Associated type for <&[char] as Pattern<'a>>::Searcher.
    • StrSearcherExperimental
      Associated type for <&str as Pattern<'a>>::Searcher.

    Enums\u00a7

    Traits\u00a7

    \n+can be used for a DoubleEndedIterator implementation.
  • PatternExperimental
    A string pattern.
  • ReverseSearcherExperimental
    A reverse searcher for a string pattern.
  • SearcherExperimental
    A searcher for a string pattern.
  • \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/pattern/struct.CharArrayRefSearcher.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/pattern/struct.CharArrayRefSearcher.html", "unified_diff": "@@ -1,17 +1,17 @@\n CharArrayRefSearcher in alloc::str::pattern - Rust
    \n-
    pub struct CharArrayRefSearcher<'a, 'b, const N: usize>(/* private fields */);
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    Associated type for <&[char; N] as Pattern<'a>>::Searcher.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, 'b, const N: usize> Clone for CharArrayRefSearcher<'a, 'b, N>

    source\u00a7

    fn clone(&self) -> CharArrayRefSearcher<'a, 'b, N>

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, 'b, const N: usize> Debug for CharArrayRefSearcher<'a, 'b, N>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, 'b, const N: usize> ReverseSearcher<'a> for CharArrayRefSearcher<'a, 'b, N>

    source\u00a7

    fn next_back(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Performs the next search step starting from the back. Read more
    source\u00a7

    fn next_match_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Match result.\n-See next_back().
    source\u00a7

    fn next_reject_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Reject result.\n-See next_back().
    source\u00a7

    impl<'a, 'b, const N: usize> Searcher<'a> for CharArrayRefSearcher<'a, 'b, N>

    source\u00a7

    fn haystack(&self) -> &'a str

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Getter for the underlying string to be searched in Read more
    source\u00a7

    fn next(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Performs the next search step starting from the front. Read more
    source\u00a7

    fn next_match(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Match result. See next(). Read more
    source\u00a7

    fn next_reject(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Reject result. See next()\n-and next_match(). Read more
    source\u00a7

    impl<'a, 'b, const N: usize> DoubleEndedSearcher<'a> for CharArrayRefSearcher<'a, 'b, N>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, 'b, const N: usize> Freeze for CharArrayRefSearcher<'a, 'b, N>

    \u00a7

    impl<'a, 'b, const N: usize> RefUnwindSafe for CharArrayRefSearcher<'a, 'b, N>

    \u00a7

    impl<'a, 'b, const N: usize> Send for CharArrayRefSearcher<'a, 'b, N>

    \u00a7

    impl<'a, 'b, const N: usize> Sync for CharArrayRefSearcher<'a, 'b, N>

    \u00a7

    impl<'a, 'b, const N: usize> Unpin for CharArrayRefSearcher<'a, 'b, N>

    \u00a7

    impl<'a, 'b, const N: usize> UnwindSafe for CharArrayRefSearcher<'a, 'b, N>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+
    pub struct CharArrayRefSearcher<'a, 'b, const N: usize>(/* private fields */);
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    Associated type for <&[char; N] as Pattern<'a>>::Searcher.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, 'b, const N: usize> Clone for CharArrayRefSearcher<'a, 'b, N>

    source\u00a7

    fn clone(&self) -> CharArrayRefSearcher<'a, 'b, N>

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, 'b, const N: usize> Debug for CharArrayRefSearcher<'a, 'b, N>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, 'b, const N: usize> ReverseSearcher<'a> for CharArrayRefSearcher<'a, 'b, N>

    source\u00a7

    fn next_back(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Performs the next search step starting from the back. Read more
    source\u00a7

    fn next_match_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Match result.\n+See next_back().
    source\u00a7

    fn next_reject_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Reject result.\n+See next_back().
    source\u00a7

    impl<'a, 'b, const N: usize> Searcher<'a> for CharArrayRefSearcher<'a, 'b, N>

    source\u00a7

    fn haystack(&self) -> &'a str

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Getter for the underlying string to be searched in Read more
    source\u00a7

    fn next(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Performs the next search step starting from the front. Read more
    source\u00a7

    fn next_match(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Match result. See next(). Read more
    source\u00a7

    fn next_reject(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Reject result. See next()\n+and next_match(). Read more
    source\u00a7

    impl<'a, 'b, const N: usize> DoubleEndedSearcher<'a> for CharArrayRefSearcher<'a, 'b, N>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, 'b, const N: usize> Freeze for CharArrayRefSearcher<'a, 'b, N>

    \u00a7

    impl<'a, 'b, const N: usize> RefUnwindSafe for CharArrayRefSearcher<'a, 'b, N>

    \u00a7

    impl<'a, 'b, const N: usize> Send for CharArrayRefSearcher<'a, 'b, N>

    \u00a7

    impl<'a, 'b, const N: usize> Sync for CharArrayRefSearcher<'a, 'b, N>

    \u00a7

    impl<'a, 'b, const N: usize> Unpin for CharArrayRefSearcher<'a, 'b, N>

    \u00a7

    impl<'a, 'b, const N: usize> UnwindSafe for CharArrayRefSearcher<'a, 'b, N>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/pattern/struct.CharArraySearcher.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/pattern/struct.CharArraySearcher.html", "unified_diff": "@@ -1,17 +1,17 @@\n CharArraySearcher in alloc::str::pattern - Rust
    \n-

    Struct alloc::str::pattern::CharArraySearcher

    source \u00b7
    pub struct CharArraySearcher<'a, const N: usize>(/* private fields */);
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    Associated type for <[char; N] as Pattern<'a>>::Searcher.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, const N: usize> Clone for CharArraySearcher<'a, N>

    source\u00a7

    fn clone(&self) -> CharArraySearcher<'a, N>

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, const N: usize> Debug for CharArraySearcher<'a, N>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, const N: usize> ReverseSearcher<'a> for CharArraySearcher<'a, N>

    source\u00a7

    fn next_back(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Performs the next search step starting from the back. Read more
    source\u00a7

    fn next_match_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Match result.\n-See next_back().
    source\u00a7

    fn next_reject_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Reject result.\n-See next_back().
    source\u00a7

    impl<'a, const N: usize> Searcher<'a> for CharArraySearcher<'a, N>

    source\u00a7

    fn haystack(&self) -> &'a str

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Getter for the underlying string to be searched in Read more
    source\u00a7

    fn next(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Performs the next search step starting from the front. Read more
    source\u00a7

    fn next_match(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Match result. See next(). Read more
    source\u00a7

    fn next_reject(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Reject result. See next()\n-and next_match(). Read more
    source\u00a7

    impl<'a, const N: usize> DoubleEndedSearcher<'a> for CharArraySearcher<'a, N>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, const N: usize> Freeze for CharArraySearcher<'a, N>

    \u00a7

    impl<'a, const N: usize> RefUnwindSafe for CharArraySearcher<'a, N>

    \u00a7

    impl<'a, const N: usize> Send for CharArraySearcher<'a, N>

    \u00a7

    impl<'a, const N: usize> Sync for CharArraySearcher<'a, N>

    \u00a7

    impl<'a, const N: usize> Unpin for CharArraySearcher<'a, N>

    \u00a7

    impl<'a, const N: usize> UnwindSafe for CharArraySearcher<'a, N>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Struct alloc::str::pattern::CharArraySearcher

    source \u00b7
    pub struct CharArraySearcher<'a, const N: usize>(/* private fields */);
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    Associated type for <[char; N] as Pattern<'a>>::Searcher.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, const N: usize> Clone for CharArraySearcher<'a, N>

    source\u00a7

    fn clone(&self) -> CharArraySearcher<'a, N>

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, const N: usize> Debug for CharArraySearcher<'a, N>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, const N: usize> ReverseSearcher<'a> for CharArraySearcher<'a, N>

    source\u00a7

    fn next_back(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Performs the next search step starting from the back. Read more
    source\u00a7

    fn next_match_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Match result.\n+See next_back().
    source\u00a7

    fn next_reject_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Reject result.\n+See next_back().
    source\u00a7

    impl<'a, const N: usize> Searcher<'a> for CharArraySearcher<'a, N>

    source\u00a7

    fn haystack(&self) -> &'a str

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Getter for the underlying string to be searched in Read more
    source\u00a7

    fn next(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Performs the next search step starting from the front. Read more
    source\u00a7

    fn next_match(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Match result. See next(). Read more
    source\u00a7

    fn next_reject(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Reject result. See next()\n+and next_match(). Read more
    source\u00a7

    impl<'a, const N: usize> DoubleEndedSearcher<'a> for CharArraySearcher<'a, N>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, const N: usize> Freeze for CharArraySearcher<'a, N>

    \u00a7

    impl<'a, const N: usize> RefUnwindSafe for CharArraySearcher<'a, N>

    \u00a7

    impl<'a, const N: usize> Send for CharArraySearcher<'a, N>

    \u00a7

    impl<'a, const N: usize> Sync for CharArraySearcher<'a, N>

    \u00a7

    impl<'a, const N: usize> Unpin for CharArraySearcher<'a, N>

    \u00a7

    impl<'a, const N: usize> UnwindSafe for CharArraySearcher<'a, N>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/pattern/struct.CharPredicateSearcher.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/pattern/struct.CharPredicateSearcher.html", "unified_diff": "@@ -1,30 +1,30 @@\n CharPredicateSearcher in alloc::str::pattern - Rust
    \n-
    pub struct CharPredicateSearcher<'a, F>(/* private fields */)\n+    
    pub struct CharPredicateSearcher<'a, F>(/* private fields */)\n where\n-    F: FnMut(char) -> bool;
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    Associated type for <F as Pattern<'a>>::Searcher.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, F> Clone for CharPredicateSearcher<'a, F>
    where\n- F: Clone + FnMut(char) -> bool,

    source\u00a7

    fn clone(&self) -> CharPredicateSearcher<'a, F>

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<F> Debug for CharPredicateSearcher<'_, F>
    where\n- F: FnMut(char) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, F> ReverseSearcher<'a> for CharPredicateSearcher<'a, F>
    where\n- F: FnMut(char) -> bool,

    source\u00a7

    fn next_back(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Performs the next search step starting from the back. Read more
    source\u00a7

    fn next_match_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Match result.\n-See next_back().
    source\u00a7

    fn next_reject_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Reject result.\n-See next_back().
    source\u00a7

    impl<'a, F> Searcher<'a> for CharPredicateSearcher<'a, F>
    where\n- F: FnMut(char) -> bool,

    source\u00a7

    fn haystack(&self) -> &'a str

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Getter for the underlying string to be searched in Read more
    source\u00a7

    fn next(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Performs the next search step starting from the front. Read more
    source\u00a7

    fn next_match(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Match result. See next(). Read more
    source\u00a7

    fn next_reject(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Reject result. See next()\n-and next_match(). Read more
    source\u00a7

    impl<'a, F> DoubleEndedSearcher<'a> for CharPredicateSearcher<'a, F>
    where\n- F: FnMut(char) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, F> Freeze for CharPredicateSearcher<'a, F>
    where\n- F: Freeze,

    \u00a7

    impl<'a, F> RefUnwindSafe for CharPredicateSearcher<'a, F>
    where\n- F: RefUnwindSafe,

    \u00a7

    impl<'a, F> Send for CharPredicateSearcher<'a, F>
    where\n- F: Send,

    \u00a7

    impl<'a, F> Sync for CharPredicateSearcher<'a, F>
    where\n- F: Sync,

    \u00a7

    impl<'a, F> Unpin for CharPredicateSearcher<'a, F>
    where\n- F: Unpin,

    \u00a7

    impl<'a, F> UnwindSafe for CharPredicateSearcher<'a, F>
    where\n- F: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+ F: FnMut(char) -> bool;
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    Associated type for <F as Pattern<'a>>::Searcher.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, F> Clone for CharPredicateSearcher<'a, F>
    where\n+ F: Clone + FnMut(char) -> bool,

    source\u00a7

    fn clone(&self) -> CharPredicateSearcher<'a, F>

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<F> Debug for CharPredicateSearcher<'_, F>
    where\n+ F: FnMut(char) -> bool,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, F> ReverseSearcher<'a> for CharPredicateSearcher<'a, F>
    where\n+ F: FnMut(char) -> bool,

    source\u00a7

    fn next_back(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Performs the next search step starting from the back. Read more
    source\u00a7

    fn next_match_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Match result.\n+See next_back().
    source\u00a7

    fn next_reject_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Reject result.\n+See next_back().
    source\u00a7

    impl<'a, F> Searcher<'a> for CharPredicateSearcher<'a, F>
    where\n+ F: FnMut(char) -> bool,

    source\u00a7

    fn haystack(&self) -> &'a str

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Getter for the underlying string to be searched in Read more
    source\u00a7

    fn next(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Performs the next search step starting from the front. Read more
    source\u00a7

    fn next_match(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Match result. See next(). Read more
    source\u00a7

    fn next_reject(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Reject result. See next()\n+and next_match(). Read more
    source\u00a7

    impl<'a, F> DoubleEndedSearcher<'a> for CharPredicateSearcher<'a, F>
    where\n+ F: FnMut(char) -> bool,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, F> Freeze for CharPredicateSearcher<'a, F>
    where\n+ F: Freeze,

    \u00a7

    impl<'a, F> RefUnwindSafe for CharPredicateSearcher<'a, F>
    where\n+ F: RefUnwindSafe,

    \u00a7

    impl<'a, F> Send for CharPredicateSearcher<'a, F>
    where\n+ F: Send,

    \u00a7

    impl<'a, F> Sync for CharPredicateSearcher<'a, F>
    where\n+ F: Sync,

    \u00a7

    impl<'a, F> Unpin for CharPredicateSearcher<'a, F>
    where\n+ F: Unpin,

    \u00a7

    impl<'a, F> UnwindSafe for CharPredicateSearcher<'a, F>
    where\n+ F: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/pattern/struct.CharSearcher.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/pattern/struct.CharSearcher.html", "unified_diff": "@@ -1,17 +1,17 @@\n CharSearcher in alloc::str::pattern - Rust
    \n-

    Struct alloc::str::pattern::CharSearcher

    source \u00b7
    pub struct CharSearcher<'a> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    Associated type for <char as Pattern<'a>>::Searcher.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for CharSearcher<'a>

    source\u00a7

    fn clone(&self) -> CharSearcher<'a>

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a> Debug for CharSearcher<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> ReverseSearcher<'a> for CharSearcher<'a>

    source\u00a7

    fn next_back(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Performs the next search step starting from the back. Read more
    source\u00a7

    fn next_match_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Match result.\n-See next_back().
    source\u00a7

    fn next_reject_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Reject result.\n-See next_back().
    source\u00a7

    impl<'a> Searcher<'a> for CharSearcher<'a>

    source\u00a7

    fn haystack(&self) -> &'a str

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Getter for the underlying string to be searched in Read more
    source\u00a7

    fn next(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Performs the next search step starting from the front. Read more
    source\u00a7

    fn next_match(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Match result. See next(). Read more
    source\u00a7

    fn next_reject(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Reject result. See next()\n-and next_match(). Read more
    source\u00a7

    impl<'a> DoubleEndedSearcher<'a> for CharSearcher<'a>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for CharSearcher<'a>

    \u00a7

    impl<'a> RefUnwindSafe for CharSearcher<'a>

    \u00a7

    impl<'a> Send for CharSearcher<'a>

    \u00a7

    impl<'a> Sync for CharSearcher<'a>

    \u00a7

    impl<'a> Unpin for CharSearcher<'a>

    \u00a7

    impl<'a> UnwindSafe for CharSearcher<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Struct alloc::str::pattern::CharSearcher

    source \u00b7
    pub struct CharSearcher<'a> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    Associated type for <char as Pattern<'a>>::Searcher.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for CharSearcher<'a>

    source\u00a7

    fn clone(&self) -> CharSearcher<'a>

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a> Debug for CharSearcher<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> ReverseSearcher<'a> for CharSearcher<'a>

    source\u00a7

    fn next_back(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Performs the next search step starting from the back. Read more
    source\u00a7

    fn next_match_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Match result.\n+See next_back().
    source\u00a7

    fn next_reject_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Reject result.\n+See next_back().
    source\u00a7

    impl<'a> Searcher<'a> for CharSearcher<'a>

    source\u00a7

    fn haystack(&self) -> &'a str

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Getter for the underlying string to be searched in Read more
    source\u00a7

    fn next(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Performs the next search step starting from the front. Read more
    source\u00a7

    fn next_match(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Match result. See next(). Read more
    source\u00a7

    fn next_reject(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Reject result. See next()\n+and next_match(). Read more
    source\u00a7

    impl<'a> DoubleEndedSearcher<'a> for CharSearcher<'a>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for CharSearcher<'a>

    \u00a7

    impl<'a> RefUnwindSafe for CharSearcher<'a>

    \u00a7

    impl<'a> Send for CharSearcher<'a>

    \u00a7

    impl<'a> Sync for CharSearcher<'a>

    \u00a7

    impl<'a> Unpin for CharSearcher<'a>

    \u00a7

    impl<'a> UnwindSafe for CharSearcher<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/pattern/struct.CharSliceSearcher.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/pattern/struct.CharSliceSearcher.html", "unified_diff": "@@ -1,17 +1,17 @@\n CharSliceSearcher in alloc::str::pattern - Rust
    \n-

    Struct alloc::str::pattern::CharSliceSearcher

    source \u00b7
    pub struct CharSliceSearcher<'a, 'b>(/* private fields */);
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    Associated type for <&[char] as Pattern<'a>>::Searcher.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, 'b> Clone for CharSliceSearcher<'a, 'b>

    source\u00a7

    fn clone(&self) -> CharSliceSearcher<'a, 'b>

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, 'b> Debug for CharSliceSearcher<'a, 'b>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, 'b> ReverseSearcher<'a> for CharSliceSearcher<'a, 'b>

    source\u00a7

    fn next_back(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Performs the next search step starting from the back. Read more
    source\u00a7

    fn next_match_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Match result.\n-See next_back().
    source\u00a7

    fn next_reject_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Reject result.\n-See next_back().
    source\u00a7

    impl<'a, 'b> Searcher<'a> for CharSliceSearcher<'a, 'b>

    source\u00a7

    fn haystack(&self) -> &'a str

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Getter for the underlying string to be searched in Read more
    source\u00a7

    fn next(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Performs the next search step starting from the front. Read more
    source\u00a7

    fn next_match(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Match result. See next(). Read more
    source\u00a7

    fn next_reject(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Reject result. See next()\n-and next_match(). Read more
    source\u00a7

    impl<'a, 'b> DoubleEndedSearcher<'a> for CharSliceSearcher<'a, 'b>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, 'b> Freeze for CharSliceSearcher<'a, 'b>

    \u00a7

    impl<'a, 'b> RefUnwindSafe for CharSliceSearcher<'a, 'b>

    \u00a7

    impl<'a, 'b> Send for CharSliceSearcher<'a, 'b>

    \u00a7

    impl<'a, 'b> Sync for CharSliceSearcher<'a, 'b>

    \u00a7

    impl<'a, 'b> Unpin for CharSliceSearcher<'a, 'b>

    \u00a7

    impl<'a, 'b> UnwindSafe for CharSliceSearcher<'a, 'b>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Struct alloc::str::pattern::CharSliceSearcher

    source \u00b7
    pub struct CharSliceSearcher<'a, 'b>(/* private fields */);
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    Associated type for <&[char] as Pattern<'a>>::Searcher.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, 'b> Clone for CharSliceSearcher<'a, 'b>

    source\u00a7

    fn clone(&self) -> CharSliceSearcher<'a, 'b>

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, 'b> Debug for CharSliceSearcher<'a, 'b>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, 'b> ReverseSearcher<'a> for CharSliceSearcher<'a, 'b>

    source\u00a7

    fn next_back(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Performs the next search step starting from the back. Read more
    source\u00a7

    fn next_match_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Match result.\n+See next_back().
    source\u00a7

    fn next_reject_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Reject result.\n+See next_back().
    source\u00a7

    impl<'a, 'b> Searcher<'a> for CharSliceSearcher<'a, 'b>

    source\u00a7

    fn haystack(&self) -> &'a str

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Getter for the underlying string to be searched in Read more
    source\u00a7

    fn next(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Performs the next search step starting from the front. Read more
    source\u00a7

    fn next_match(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Match result. See next(). Read more
    source\u00a7

    fn next_reject(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Reject result. See next()\n+and next_match(). Read more
    source\u00a7

    impl<'a, 'b> DoubleEndedSearcher<'a> for CharSliceSearcher<'a, 'b>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, 'b> Freeze for CharSliceSearcher<'a, 'b>

    \u00a7

    impl<'a, 'b> RefUnwindSafe for CharSliceSearcher<'a, 'b>

    \u00a7

    impl<'a, 'b> Send for CharSliceSearcher<'a, 'b>

    \u00a7

    impl<'a, 'b> Sync for CharSliceSearcher<'a, 'b>

    \u00a7

    impl<'a, 'b> Unpin for CharSliceSearcher<'a, 'b>

    \u00a7

    impl<'a, 'b> UnwindSafe for CharSliceSearcher<'a, 'b>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/pattern/struct.StrSearcher.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/pattern/struct.StrSearcher.html", "unified_diff": "@@ -1,17 +1,17 @@\n StrSearcher in alloc::str::pattern - Rust
    \n-

    Struct alloc::str::pattern::StrSearcher

    source \u00b7
    pub struct StrSearcher<'a, 'b> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    Associated type for <&str as Pattern<'a>>::Searcher.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, 'b> Clone for StrSearcher<'a, 'b>

    source\u00a7

    fn clone(&self) -> StrSearcher<'a, 'b>

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, 'b> Debug for StrSearcher<'a, 'b>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, 'b> ReverseSearcher<'a> for StrSearcher<'a, 'b>

    source\u00a7

    fn next_back(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Performs the next search step starting from the back. Read more
    source\u00a7

    fn next_match_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Match result.\n-See next_back().
    source\u00a7

    fn next_reject_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Reject result.\n-See next_back().
    source\u00a7

    impl<'a, 'b> Searcher<'a> for StrSearcher<'a, 'b>

    source\u00a7

    fn haystack(&self) -> &'a str

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Getter for the underlying string to be searched in Read more
    source\u00a7

    fn next(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Performs the next search step starting from the front. Read more
    source\u00a7

    fn next_match(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Match result. See next(). Read more
    source\u00a7

    fn next_reject(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Reject result. See next()\n-and next_match(). Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, 'b> Freeze for StrSearcher<'a, 'b>

    \u00a7

    impl<'a, 'b> RefUnwindSafe for StrSearcher<'a, 'b>

    \u00a7

    impl<'a, 'b> Send for StrSearcher<'a, 'b>

    \u00a7

    impl<'a, 'b> Sync for StrSearcher<'a, 'b>

    \u00a7

    impl<'a, 'b> Unpin for StrSearcher<'a, 'b>

    \u00a7

    impl<'a, 'b> UnwindSafe for StrSearcher<'a, 'b>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Struct alloc::str::pattern::StrSearcher

    source \u00b7
    pub struct StrSearcher<'a, 'b> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    Associated type for <&str as Pattern<'a>>::Searcher.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, 'b> Clone for StrSearcher<'a, 'b>

    source\u00a7

    fn clone(&self) -> StrSearcher<'a, 'b>

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, 'b> Debug for StrSearcher<'a, 'b>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, 'b> ReverseSearcher<'a> for StrSearcher<'a, 'b>

    source\u00a7

    fn next_back(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Performs the next search step starting from the back. Read more
    source\u00a7

    fn next_match_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Match result.\n+See next_back().
    source\u00a7

    fn next_reject_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Reject result.\n+See next_back().
    source\u00a7

    impl<'a, 'b> Searcher<'a> for StrSearcher<'a, 'b>

    source\u00a7

    fn haystack(&self) -> &'a str

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Getter for the underlying string to be searched in Read more
    source\u00a7

    fn next(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Performs the next search step starting from the front. Read more
    source\u00a7

    fn next_match(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Match result. See next(). Read more
    source\u00a7

    fn next_reject(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Finds the next Reject result. See next()\n+and next_match(). Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, 'b> Freeze for StrSearcher<'a, 'b>

    \u00a7

    impl<'a, 'b> RefUnwindSafe for StrSearcher<'a, 'b>

    \u00a7

    impl<'a, 'b> Send for StrSearcher<'a, 'b>

    \u00a7

    impl<'a, 'b> Sync for StrSearcher<'a, 'b>

    \u00a7

    impl<'a, 'b> Unpin for StrSearcher<'a, 'b>

    \u00a7

    impl<'a, 'b> UnwindSafe for StrSearcher<'a, 'b>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/pattern/trait.DoubleEndedSearcher.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/pattern/trait.DoubleEndedSearcher.html", "unified_diff": "@@ -1,21 +1,21 @@\n DoubleEndedSearcher in alloc::str::pattern - Rust
    \n-
    pub trait DoubleEndedSearcher<'a>: ReverseSearcher<'a> { }
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    A marker trait to express that a ReverseSearcher\n-can be used for a DoubleEndedIterator implementation.

    \n+
    pub trait DoubleEndedSearcher<'a>: ReverseSearcher<'a> { }
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    A marker trait to express that a ReverseSearcher\n+can be used for a DoubleEndedIterator implementation.

    \n

    For this, the impl of Searcher and ReverseSearcher need\n to follow these conditions:

    \n
      \n
    • All results of next() need to be identical\n to the results of next_back() in reverse order.
    • \n
    • next() and next_back() need to behave as\n the two ends of a range of values, that is they\n can not \u201cwalk past each other\u201d.
    • \n
    \n

    \u00a7Examples

    \n

    char::Searcher is a DoubleEndedSearcher because searching for a\n-char only requires looking at one at a time, which behaves the same\n+char only requires looking at one at a time, which behaves the same\n from both ends.

    \n

    (&str)::Searcher is not a DoubleEndedSearcher because\n the pattern "aa" in the haystack "aaa" matches as either\n "[aa]a" or "a[aa]", depending from which side it is searched.

    \n-

    Implementors\u00a7

    source\u00a7

    impl<'a> DoubleEndedSearcher<'a> for CharSearcher<'a>

    source\u00a7

    impl<'a, 'b> DoubleEndedSearcher<'a> for CharSliceSearcher<'a, 'b>

    source\u00a7

    impl<'a, 'b, const N: usize> DoubleEndedSearcher<'a> for CharArrayRefSearcher<'a, 'b, N>

    source\u00a7

    impl<'a, F> DoubleEndedSearcher<'a> for CharPredicateSearcher<'a, F>
    where\n- F: FnMut(char) -> bool,

    source\u00a7

    impl<'a, const N: usize> DoubleEndedSearcher<'a> for CharArraySearcher<'a, N>

    \n+

    Implementors\u00a7

    source\u00a7

    impl<'a> DoubleEndedSearcher<'a> for CharSearcher<'a>

    source\u00a7

    impl<'a, 'b> DoubleEndedSearcher<'a> for CharSliceSearcher<'a, 'b>

    source\u00a7

    impl<'a, 'b, const N: usize> DoubleEndedSearcher<'a> for CharArrayRefSearcher<'a, 'b, N>

    source\u00a7

    impl<'a, F> DoubleEndedSearcher<'a> for CharPredicateSearcher<'a, F>
    where\n+ F: FnMut(char) -> bool,

    source\u00a7

    impl<'a, const N: usize> DoubleEndedSearcher<'a> for CharArraySearcher<'a, N>

    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/pattern/trait.Pattern.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/pattern/trait.Pattern.html", "unified_diff": "@@ -1,32 +1,32 @@\n Pattern in alloc::str::pattern - Rust
    \n-

    Trait alloc::str::pattern::Pattern

    source \u00b7
    pub trait Pattern<'a>: Sized {\n+    

    Trait alloc::str::pattern::Pattern

    source \u00b7
    pub trait Pattern<'a>: Sized {\n     type Searcher: Searcher<'a>;\n \n     // Required method\n-    fn into_searcher(self, haystack: &'a str) -> Self::Searcher;\n+    fn into_searcher(self, haystack: &'a str) -> Self::Searcher;\n \n     // Provided methods\n-    fn is_contained_in(self, haystack: &'a str) -> bool { ... }\n-    fn is_prefix_of(self, haystack: &'a str) -> bool { ... }\n-    fn is_suffix_of(self, haystack: &'a str) -> bool\n+    fn is_contained_in(self, haystack: &'a str) -> bool { ... }\n+    fn is_prefix_of(self, haystack: &'a str) -> bool { ... }\n+    fn is_suffix_of(self, haystack: &'a str) -> bool\n        where Self::Searcher: ReverseSearcher<'a> { ... }\n-    fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str> { ... }\n-    fn strip_suffix_of(self, haystack: &'a str) -> Option<&'a str>\n+    fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str> { ... }\n+    fn strip_suffix_of(self, haystack: &'a str) -> Option<&'a str>\n        where Self::Searcher: ReverseSearcher<'a> { ... }\n }
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    A string pattern.

    \n

    A Pattern<'a> expresses that the implementing type\n-can be used as a string pattern for searching in a &'a str.

    \n+can be used as a string pattern for searching in a &'a str.

    \n

    For example, both 'a' and "aa" are patterns that\n would match at index 1 in the string "baaaab".

    \n

    The trait itself acts as a builder for an associated\n Searcher type, which does the actual work of finding\n occurrences of the pattern in a string.

    \n

    Depending on the type of the pattern, the behaviour of methods like\n-str::find and str::contains can change. The table below describes\n+str::find and str::contains can change. The table below describes\n some of those behaviours.

    \n
    \n \n \n \n \n \n@@ -51,47 +51,47 @@\n assert_eq!(\"ab\".find(&['b', 'a'][..]), Some(0));\n assert_eq!(\"abaaa\".find(&['a', 'z'][..]), Some(0));\n assert_eq!(\"abaaa\".find(&['c', 'd'][..]), None);\n \n // FnMut(char) -> bool\n assert_eq!(\"abcdef_z\".find(|ch| ch > 'd' && ch < 'y'), Some(4));\n assert_eq!(\"abcddd_z\".find(|ch| ch > 'd' && ch < 'y'), None);Run\n-

    Required Associated Types\u00a7

    source

    type Searcher: Searcher<'a>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Associated searcher for this pattern

    \n-

    Required Methods\u00a7

    source

    fn into_searcher(self, haystack: &'a str) -> Self::Searcher

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Constructs the associated searcher from\n+

    Required Associated Types\u00a7

    source

    type Searcher: Searcher<'a>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Associated searcher for this pattern

    \n+

    Required Methods\u00a7

    source

    fn into_searcher(self, haystack: &'a str) -> Self::Searcher

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Constructs the associated searcher from\n self and the haystack to search in.

    \n-

    Provided Methods\u00a7

    source

    fn is_contained_in(self, haystack: &'a str) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Checks whether the pattern matches anywhere in the haystack

    \n-
    source

    fn is_prefix_of(self, haystack: &'a str) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Checks whether the pattern matches at the front of the haystack

    \n-
    source

    fn is_suffix_of(self, haystack: &'a str) -> bool
    where\n+

    Provided Methods\u00a7

    source

    fn is_contained_in(self, haystack: &'a str) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Checks whether the pattern matches anywhere in the haystack

    \n+
    source

    fn is_prefix_of(self, haystack: &'a str) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Checks whether the pattern matches at the front of the haystack

    \n+
    source

    fn is_suffix_of(self, haystack: &'a str) -> bool
    where\n Self::Searcher: ReverseSearcher<'a>,

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Checks whether the pattern matches at the back of the haystack

    \n-
    source

    fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Removes the pattern from the front of haystack, if it matches.

    \n-
    source

    fn strip_suffix_of(self, haystack: &'a str) -> Option<&'a str>
    where\n+

    source

    fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Removes the pattern from the front of haystack, if it matches.

    \n+
    source

    fn strip_suffix_of(self, haystack: &'a str) -> Option<&'a str>
    where\n Self::Searcher: ReverseSearcher<'a>,

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Removes the pattern from the back of haystack, if it matches.

    \n-

    Object Safety\u00a7

    This trait is not object safe.

    Implementors\u00a7

    source\u00a7

    impl<'a> Pattern<'a> for char

    Searches for chars that are equal to a given char.

    \n+

    Object Safety\u00a7

    This trait is not object safe.

    Implementors\u00a7

    source\u00a7

    impl<'a> Pattern<'a> for char

    Searches for chars that are equal to a given char.

    \n

    \u00a7Examples

    \n
    assert_eq!(\"Hello world\".find('o'), Some(4));
    Run
    \n-
    source\u00a7

    impl<'a, 'b> Pattern<'a> for &'b str

    Non-allocating substring search.

    \n+
    source\u00a7

    impl<'a, 'b> Pattern<'a> for &'b str

    Non-allocating substring search.

    \n

    Will handle the pattern "" as returning empty matches at each character\n boundary.

    \n

    \u00a7Examples

    \n
    assert_eq!(\"Hello world\".find(\"world\"), Some(6));
    Run
    \n
    source\u00a7

    impl<'a, 'b> Pattern<'a> for &'b String

    A convenience impl that delegates to the impl for &str.

    \n

    \u00a7Examples

    \n
    assert_eq!(String::from(\"Hello world\").find(\"world\"), Some(6));
    Run
    \n-
    \u00a7

    type Searcher = <&'b str as Pattern<'a>>::Searcher

    source\u00a7

    impl<'a, 'b> Pattern<'a> for &'b [char]

    Searches for chars that are equal to any of the chars in the slice.

    \n+
    \u00a7

    type Searcher = <&'b str as Pattern<'a>>::Searcher

    source\u00a7

    impl<'a, 'b> Pattern<'a> for &'b [char]

    Searches for chars that are equal to any of the chars in the slice.

    \n

    \u00a7Examples

    \n
    assert_eq!(\"Hello world\".find(&['l', 'l'] as &[_]), Some(2));\n assert_eq!(\"Hello world\".find(&['l', 'l'][..]), Some(2));
    Run
    \n-
    source\u00a7

    impl<'a, 'b, 'c> Pattern<'a> for &'c &'b str

    Delegates to the &str impl.

    \n-
    source\u00a7

    impl<'a, 'b, const N: usize> Pattern<'a> for &'b [char; N]

    Searches for chars that are equal to any of the chars in the array.

    \n+
    source\u00a7

    impl<'a, 'b, 'c> Pattern<'a> for &'c &'b str

    Delegates to the &str impl.

    \n+
    source\u00a7

    impl<'a, 'b, const N: usize> Pattern<'a> for &'b [char; N]

    Searches for chars that are equal to any of the chars in the array.

    \n

    \u00a7Examples

    \n
    assert_eq!(\"Hello world\".find(&['o', 'l']), Some(2));\n assert_eq!(\"Hello world\".find(&['h', 'w']), Some(6));
    Run
    \n-
    source\u00a7

    impl<'a, F> Pattern<'a> for F
    where\n- F: FnMut(char) -> bool,

    Searches for chars that match the given predicate.

    \n+
    source\u00a7

    impl<'a, F> Pattern<'a> for F
    where\n+ F: FnMut(char) -> bool,

    Searches for chars that match the given predicate.

    \n

    \u00a7Examples

    \n
    assert_eq!(\"Hello world\".find(char::is_uppercase), Some(0));\n assert_eq!(\"Hello world\".find(|c| \"aeiou\".contains(c)), Some(1));
    Run
    \n-
    source\u00a7

    impl<'a, const N: usize> Pattern<'a> for [char; N]

    Searches for chars that are equal to any of the chars in the array.

    \n+
    source\u00a7

    impl<'a, const N: usize> Pattern<'a> for [char; N]

    Searches for chars that are equal to any of the chars in the array.

    \n

    \u00a7Examples

    \n
    assert_eq!(\"Hello world\".find(['o', 'l']), Some(2));\n assert_eq!(\"Hello world\".find(['h', 'w']), Some(6));
    Run
    \n
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/pattern/trait.ReverseSearcher.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/pattern/trait.ReverseSearcher.html", "unified_diff": "@@ -1,26 +1,26 @@\n ReverseSearcher in alloc::str::pattern - Rust
    \n-

    Trait alloc::str::pattern::ReverseSearcher

    source \u00b7
    pub unsafe trait ReverseSearcher<'a>: Searcher<'a> {\n+    

    Trait alloc::str::pattern::ReverseSearcher

    source \u00b7
    pub unsafe trait ReverseSearcher<'a>: Searcher<'a> {\n     // Required method\n     fn next_back(&mut self) -> SearchStep;\n \n     // Provided methods\n-    fn next_match_back(&mut self) -> Option<(usize, usize)> { ... }\n-    fn next_reject_back(&mut self) -> Option<(usize, usize)> { ... }\n+    fn next_match_back(&mut self) -> Option<(usize, usize)> { ... }\n+    fn next_reject_back(&mut self) -> Option<(usize, usize)> { ... }\n }
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    A reverse searcher for a string pattern.

    \n

    This trait provides methods for searching for non-overlapping\n matches of a pattern starting from the back (right) of a string.

    \n

    It will be implemented by associated Searcher\n types of the Pattern trait if the pattern supports searching\n for it from the back.

    \n

    The index ranges returned by this trait are not required\n to exactly match those of the forward search in reverse.

    \n

    For the reason why this trait is marked unsafe, see the\n parent trait Searcher.

    \n-

    Required Methods\u00a7

    source

    fn next_back(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Performs the next search step starting from the back.

    \n+

    Required Methods\u00a7

    source

    fn next_back(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Performs the next search step starting from the back.

    \n
      \n
    • Returns Match(a, b) if haystack[a..b]\n matches the pattern.
    • \n
    • Returns Reject(a, b) if haystack[a..b]\n can not match the pattern, even partially.
    • \n
    • Returns Done if every byte of the haystack\n has been visited
    • \n@@ -31,13 +31,13 @@\n covering the whole haystack, and laying on utf8 boundaries.

      \n

      A Match result needs to contain the whole matched\n pattern, however Reject results may be split up\n into arbitrary many adjacent fragments. Both ranges may have zero length.

      \n

      As an example, the pattern "aaa" and the haystack "cbaaaaab"\n might produce the stream\n [Reject(7, 8), Match(4, 7), Reject(1, 4), Reject(0, 1)].

      \n-

    Provided Methods\u00a7

    source

    fn next_match_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Finds the next Match result.\n+

    Provided Methods\u00a7

    source

    fn next_match_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Finds the next Match result.\n See next_back().

    \n-
    source

    fn next_reject_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Finds the next Reject result.\n+

    source

    fn next_reject_back(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Finds the next Reject result.\n See next_back().

    \n-

    Implementors\u00a7

    source\u00a7

    impl<'a> ReverseSearcher<'a> for CharSearcher<'a>

    source\u00a7

    impl<'a, 'b> ReverseSearcher<'a> for CharSliceSearcher<'a, 'b>

    source\u00a7

    impl<'a, 'b> ReverseSearcher<'a> for StrSearcher<'a, 'b>

    source\u00a7

    impl<'a, 'b, const N: usize> ReverseSearcher<'a> for CharArrayRefSearcher<'a, 'b, N>

    source\u00a7

    impl<'a, F> ReverseSearcher<'a> for CharPredicateSearcher<'a, F>
    where\n- F: FnMut(char) -> bool,

    source\u00a7

    impl<'a, const N: usize> ReverseSearcher<'a> for CharArraySearcher<'a, N>

    \n+

    Implementors\u00a7

    source\u00a7

    impl<'a> ReverseSearcher<'a> for CharSearcher<'a>

    source\u00a7

    impl<'a, 'b> ReverseSearcher<'a> for CharSliceSearcher<'a, 'b>

    source\u00a7

    impl<'a, 'b> ReverseSearcher<'a> for StrSearcher<'a, 'b>

    source\u00a7

    impl<'a, 'b, const N: usize> ReverseSearcher<'a> for CharArrayRefSearcher<'a, 'b, N>

    source\u00a7

    impl<'a, F> ReverseSearcher<'a> for CharPredicateSearcher<'a, F>
    where\n+ F: FnMut(char) -> bool,

    source\u00a7

    impl<'a, const N: usize> ReverseSearcher<'a> for CharArraySearcher<'a, N>

    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/pattern/trait.Searcher.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/pattern/trait.Searcher.html", "unified_diff": "@@ -1,28 +1,28 @@\n Searcher in alloc::str::pattern - Rust
    \n-

    Trait alloc::str::pattern::Searcher

    source \u00b7
    pub unsafe trait Searcher<'a> {\n+    

    Trait alloc::str::pattern::Searcher

    source \u00b7
    pub unsafe trait Searcher<'a> {\n     // Required methods\n-    fn haystack(&self) -> &'a str;\n+    fn haystack(&self) -> &'a str;\n     fn next(&mut self) -> SearchStep;\n \n     // Provided methods\n-    fn next_match(&mut self) -> Option<(usize, usize)> { ... }\n-    fn next_reject(&mut self) -> Option<(usize, usize)> { ... }\n+    fn next_match(&mut self) -> Option<(usize, usize)> { ... }\n+    fn next_reject(&mut self) -> Option<(usize, usize)> { ... }\n }
    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Expand description

    A searcher for a string pattern.

    \n

    This trait provides methods for searching for non-overlapping\n matches of a pattern starting from the front (left) of a string.

    \n

    It will be implemented by associated Searcher\n types of the Pattern trait.

    \n

    The trait is marked unsafe because the indices returned by the\n next() methods are required to lie on valid utf8\n boundaries in the haystack. This enables consumers of this trait to\n slice the haystack without additional runtime checks.

    \n-

    Required Methods\u00a7

    source

    fn haystack(&self) -> &'a str

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Getter for the underlying string to be searched in

    \n-

    Will always return the same &str.

    \n-
    source

    fn next(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Performs the next search step starting from the front.

    \n+

    Required Methods\u00a7

    source

    fn haystack(&self) -> &'a str

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Getter for the underlying string to be searched in

    \n+

    Will always return the same &str.

    \n+
    source

    fn next(&mut self) -> SearchStep

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Performs the next search step starting from the front.

    \n
      \n
    • Returns Match(a, b) if haystack[a..b] matches\n the pattern.
    • \n
    • Returns Reject(a, b) if haystack[a..b] can\n not match the pattern, even partially.
    • \n
    • Returns Done if every byte of the haystack has\n been visited.
    • \n@@ -33,18 +33,18 @@\n covering the whole haystack, and laying on utf8 boundaries.

      \n

      A Match result needs to contain the whole matched\n pattern, however Reject results may be split up\n into arbitrary many adjacent fragments. Both ranges may have zero length.

      \n

      As an example, the pattern "aaa" and the haystack "cbaaaaab"\n might produce the stream\n [Reject(0, 1), Reject(1, 2), Match(2, 5), Reject(5, 8)]

      \n-

    Provided Methods\u00a7

    source

    fn next_match(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Finds the next Match result. See next().

    \n+

    Provided Methods\u00a7

    source

    fn next_match(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Finds the next Match result. See next().

    \n

    Unlike next(), there is no guarantee that the returned ranges\n of this and next_reject will overlap. This will return\n (start_match, end_match), where start_match is the index of where\n the match begins, and end_match is the index after the end of the match.

    \n-
    source

    fn next_reject(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Finds the next Reject result. See next()\n+

    source

    fn next_reject(&mut self) -> Option<(usize, usize)>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)

    Finds the next Reject result. See next()\n and next_match().

    \n

    Unlike next(), there is no guarantee that the returned ranges\n of this and next_match will overlap.

    \n-

    Implementors\u00a7

    source\u00a7

    impl<'a> Searcher<'a> for CharSearcher<'a>

    source\u00a7

    impl<'a, 'b> Searcher<'a> for CharSliceSearcher<'a, 'b>

    source\u00a7

    impl<'a, 'b> Searcher<'a> for StrSearcher<'a, 'b>

    source\u00a7

    impl<'a, 'b, const N: usize> Searcher<'a> for CharArrayRefSearcher<'a, 'b, N>

    source\u00a7

    impl<'a, F> Searcher<'a> for CharPredicateSearcher<'a, F>
    where\n- F: FnMut(char) -> bool,

    source\u00a7

    impl<'a, const N: usize> Searcher<'a> for CharArraySearcher<'a, N>

    \n+

    Implementors\u00a7

    source\u00a7

    impl<'a> Searcher<'a> for CharSearcher<'a>

    source\u00a7

    impl<'a, 'b> Searcher<'a> for CharSliceSearcher<'a, 'b>

    source\u00a7

    impl<'a, 'b> Searcher<'a> for StrSearcher<'a, 'b>

    source\u00a7

    impl<'a, 'b, const N: usize> Searcher<'a> for CharArrayRefSearcher<'a, 'b, N>

    source\u00a7

    impl<'a, F> Searcher<'a> for CharPredicateSearcher<'a, F>
    where\n+ F: FnMut(char) -> bool,

    source\u00a7

    impl<'a, const N: usize> Searcher<'a> for CharArraySearcher<'a, N>

    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.Bytes.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.Bytes.html", "unified_diff": "@@ -1,205 +1,205 @@\n Bytes in alloc::str - Rust
    \n-

    Struct alloc::str::Bytes

    1.0.0 \u00b7 source \u00b7
    pub struct Bytes<'a>(/* private fields */);
    Expand description

    An iterator over the bytes of a string slice.

    \n-

    This struct is created by the bytes method on str.\n+

    Struct alloc::str::Bytes

    1.0.0 \u00b7 source \u00b7
    pub struct Bytes<'a>(/* private fields */);
    Expand description

    An iterator over the bytes of a string slice.

    \n+

    This struct is created by the bytes method on str.\n See its documentation for more.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for Bytes<'a>

    source\u00a7

    fn clone(&self) -> Bytes<'a> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a> Debug for Bytes<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl DoubleEndedIterator for Bytes<'_>

    source\u00a7

    fn next_back(&mut self) -> Option<u8>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<<Bytes<'_> as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<<Bytes<'_> as Iterator>::Item>
    where\n- P: FnMut(&<Bytes<'_> as Iterator>::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    source\u00a7

    impl ExactSizeIterator for Bytes<'_>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl Iterator for Bytes<'_>

    \u00a7

    type Item = u8

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<u8>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<<Bytes<'_> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<<Bytes<'_> as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- F: FnMut(<Bytes<'_> as Iterator>::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- F: FnMut(<Bytes<'_> as Iterator>::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<<Bytes<'_> as Iterator>::Item>
    where\n- P: FnMut(&<Bytes<'_> as Iterator>::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(<Bytes<'_> as Iterator>::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(<Bytes<'_> as Iterator>::Item) -> bool,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for Bytes<'a>

    source\u00a7

    fn clone(&self) -> Bytes<'a> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a> Debug for Bytes<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl DoubleEndedIterator for Bytes<'_>

    source\u00a7

    fn next_back(&mut self) -> Option<u8>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<<Bytes<'_> as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<<Bytes<'_> as Iterator>::Item>
    where\n+ P: FnMut(&<Bytes<'_> as Iterator>::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    source\u00a7

    impl ExactSizeIterator for Bytes<'_>

    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl Iterator for Bytes<'_>

    \u00a7

    type Item = u8

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<u8>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<<Bytes<'_> as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<<Bytes<'_> as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ F: FnMut(<Bytes<'_> as Iterator>::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ F: FnMut(<Bytes<'_> as Iterator>::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<<Bytes<'_> as Iterator>::Item>
    where\n+ P: FnMut(&<Bytes<'_> as Iterator>::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(<Bytes<'_> as Iterator>::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(<Bytes<'_> as Iterator>::Item) -> bool,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl FusedIterator for Bytes<'_>

    source\u00a7

    impl TrustedLen for Bytes<'_>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for Bytes<'a>

    \u00a7

    impl<'a> RefUnwindSafe for Bytes<'a>

    \u00a7

    impl<'a> Send for Bytes<'a>

    \u00a7

    impl<'a> Sync for Bytes<'a>

    \u00a7

    impl<'a> Unpin for Bytes<'a>

    \u00a7

    impl<'a> UnwindSafe for Bytes<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl FusedIterator for Bytes<'_>

    source\u00a7

    impl TrustedLen for Bytes<'_>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for Bytes<'a>

    \u00a7

    impl<'a> RefUnwindSafe for Bytes<'a>

    \u00a7

    impl<'a> Send for Bytes<'a>

    \u00a7

    impl<'a> Sync for Bytes<'a>

    \u00a7

    impl<'a> Unpin for Bytes<'a>

    \u00a7

    impl<'a> UnwindSafe for Bytes<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.CharIndices.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.CharIndices.html", "unified_diff": "@@ -1,225 +1,225 @@\n CharIndices in alloc::str - Rust
    \n-

    Struct alloc::str::CharIndices

    1.0.0 \u00b7 source \u00b7
    pub struct CharIndices<'a> { /* private fields */ }
    Expand description

    An iterator over the chars of a string slice, and their positions.

    \n-

    This struct is created by the char_indices method on str.\n+

    Struct alloc::str::CharIndices

    1.0.0 \u00b7 source \u00b7
    pub struct CharIndices<'a> { /* private fields */ }
    Expand description

    An iterator over the chars of a string slice, and their positions.

    \n+

    This struct is created by the char_indices method on str.\n See its documentation for more.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a> CharIndices<'a>

    1.4.0 \u00b7 source

    pub fn as_str(&self) -> &'a str

    Views the underlying data as a subslice of the original data.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a> CharIndices<'a>

    1.4.0 \u00b7 source

    pub fn as_str(&self) -> &'a str

    Views the underlying data as a subslice of the original data.

    \n

    This has the same lifetime as the original slice, and so the\n iterator can continue to be used while this exists.

    \n-
    source

    pub fn offset(&self) -> usize

    \ud83d\udd2cThis is a nightly-only experimental API. (char_indices_offset #83871)

    Returns the byte position of the next character, or the length\n+

    source

    pub fn offset(&self) -> usize

    \ud83d\udd2cThis is a nightly-only experimental API. (char_indices_offset #83871)

    Returns the byte position of the next character, or the length\n of the underlying string if there are no more characters.

    \n
    \u00a7Examples
    \n
    #![feature(char_indices_offset)]\n let mut chars = \"a\u697d\".char_indices();\n \n assert_eq!(chars.offset(), 0);\n assert_eq!(chars.next(), Some((0, 'a')));\n \n assert_eq!(chars.offset(), 1);\n assert_eq!(chars.next(), Some((1, '\u697d')));\n \n assert_eq!(chars.offset(), 4);\n assert_eq!(chars.next(), None);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for CharIndices<'a>

    source\u00a7

    fn clone(&self) -> CharIndices<'a> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a> Debug for CharIndices<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> DoubleEndedIterator for CharIndices<'a>

    source\u00a7

    fn next_back(&mut self) -> Option<(usize, char)>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a> Iterator for CharIndices<'a>

    \u00a7

    type Item = (usize, char)

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<(usize, char)>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<(usize, char)>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for CharIndices<'a>

    source\u00a7

    fn clone(&self) -> CharIndices<'a> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a> Debug for CharIndices<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> DoubleEndedIterator for CharIndices<'a>

    source\u00a7

    fn next_back(&mut self) -> Option<(usize, char)>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a> Iterator for CharIndices<'a>

    \u00a7

    type Item = (usize, char)

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<(usize, char)>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<(usize, char)>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl FusedIterator for CharIndices<'_>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for CharIndices<'a>

    \u00a7

    impl<'a> RefUnwindSafe for CharIndices<'a>

    \u00a7

    impl<'a> Send for CharIndices<'a>

    \u00a7

    impl<'a> Sync for CharIndices<'a>

    \u00a7

    impl<'a> Unpin for CharIndices<'a>

    \u00a7

    impl<'a> UnwindSafe for CharIndices<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl FusedIterator for CharIndices<'_>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for CharIndices<'a>

    \u00a7

    impl<'a> RefUnwindSafe for CharIndices<'a>

    \u00a7

    impl<'a> Send for CharIndices<'a>

    \u00a7

    impl<'a> Sync for CharIndices<'a>

    \u00a7

    impl<'a> Unpin for CharIndices<'a>

    \u00a7

    impl<'a> UnwindSafe for CharIndices<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.Chars.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.Chars.html", "unified_diff": "@@ -1,220 +1,220 @@\n Chars in alloc::str - Rust
    \n-

    Struct alloc::str::Chars

    1.0.0 \u00b7 source \u00b7
    pub struct Chars<'a> { /* private fields */ }
    Expand description

    An iterator over the chars of a string slice.

    \n-

    This struct is created by the chars method on str.\n+

    Struct alloc::str::Chars

    1.0.0 \u00b7 source \u00b7
    pub struct Chars<'a> { /* private fields */ }
    Expand description

    An iterator over the chars of a string slice.

    \n+

    This struct is created by the chars method on str.\n See its documentation for more.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a> Chars<'a>

    1.4.0 \u00b7 source

    pub fn as_str(&self) -> &'a str

    Views the underlying data as a subslice of the original data.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a> Chars<'a>

    1.4.0 \u00b7 source

    pub fn as_str(&self) -> &'a str

    Views the underlying data as a subslice of the original data.

    \n

    This has the same lifetime as the original slice, and so the\n iterator can continue to be used while this exists.

    \n
    \u00a7Examples
    \n
    let mut chars = \"abc\".chars();\n \n assert_eq!(chars.as_str(), \"abc\");\n chars.next();\n assert_eq!(chars.as_str(), \"bc\");\n chars.next();\n chars.next();\n assert_eq!(chars.as_str(), \"\");
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for Chars<'a>

    source\u00a7

    fn clone(&self) -> Chars<'a> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.38.0 \u00b7 source\u00a7

    impl Debug for Chars<'_>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> DoubleEndedIterator for Chars<'a>

    source\u00a7

    fn next_back(&mut self) -> Option<char>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a> Iterator for Chars<'a>

    \u00a7

    type Item = char

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<char>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, remainder: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<char>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for Chars<'a>

    source\u00a7

    fn clone(&self) -> Chars<'a> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.38.0 \u00b7 source\u00a7

    impl Debug for Chars<'_>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> DoubleEndedIterator for Chars<'a>

    source\u00a7

    fn next_back(&mut self) -> Option<char>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a> Iterator for Chars<'a>

    \u00a7

    type Item = char

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<char>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, remainder: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<char>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl FusedIterator for Chars<'_>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for Chars<'a>

    \u00a7

    impl<'a> RefUnwindSafe for Chars<'a>

    \u00a7

    impl<'a> Send for Chars<'a>

    \u00a7

    impl<'a> Sync for Chars<'a>

    \u00a7

    impl<'a> Unpin for Chars<'a>

    \u00a7

    impl<'a> UnwindSafe for Chars<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl FusedIterator for Chars<'_>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for Chars<'a>

    \u00a7

    impl<'a> RefUnwindSafe for Chars<'a>

    \u00a7

    impl<'a> Send for Chars<'a>

    \u00a7

    impl<'a> Sync for Chars<'a>

    \u00a7

    impl<'a> Unpin for Chars<'a>

    \u00a7

    impl<'a> UnwindSafe for Chars<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.EncodeUtf16.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.EncodeUtf16.html", "unified_diff": "@@ -1,195 +1,195 @@\n EncodeUtf16 in alloc::str - Rust
    \n-

    Struct alloc::str::EncodeUtf16

    1.8.0 \u00b7 source \u00b7
    pub struct EncodeUtf16<'a> { /* private fields */ }
    Expand description

    An iterator of u16 over the string encoded as UTF-16.

    \n-

    This struct is created by the encode_utf16 method on str.\n+

    Struct alloc::str::EncodeUtf16

    1.8.0 \u00b7 source \u00b7
    pub struct EncodeUtf16<'a> { /* private fields */ }
    Expand description

    An iterator of u16 over the string encoded as UTF-16.

    \n+

    This struct is created by the encode_utf16 method on str.\n See its documentation for more.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for EncodeUtf16<'a>

    source\u00a7

    fn clone(&self) -> EncodeUtf16<'a> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl Debug for EncodeUtf16<'_>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> Iterator for EncodeUtf16<'a>

    \u00a7

    type Item = u16

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<u16>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for EncodeUtf16<'a>

    source\u00a7

    fn clone(&self) -> EncodeUtf16<'a> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.17.0 \u00b7 source\u00a7

    impl Debug for EncodeUtf16<'_>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> Iterator for EncodeUtf16<'a>

    \u00a7

    type Item = u16

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<u16>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl FusedIterator for EncodeUtf16<'_>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for EncodeUtf16<'a>

    \u00a7

    impl<'a> RefUnwindSafe for EncodeUtf16<'a>

    \u00a7

    impl<'a> Send for EncodeUtf16<'a>

    \u00a7

    impl<'a> Sync for EncodeUtf16<'a>

    \u00a7

    impl<'a> Unpin for EncodeUtf16<'a>

    \u00a7

    impl<'a> UnwindSafe for EncodeUtf16<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl FusedIterator for EncodeUtf16<'_>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for EncodeUtf16<'a>

    \u00a7

    impl<'a> RefUnwindSafe for EncodeUtf16<'a>

    \u00a7

    impl<'a> Send for EncodeUtf16<'a>

    \u00a7

    impl<'a> Sync for EncodeUtf16<'a>

    \u00a7

    impl<'a> Unpin for EncodeUtf16<'a>

    \u00a7

    impl<'a> UnwindSafe for EncodeUtf16<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.EscapeDebug.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.EscapeDebug.html", "unified_diff": "@@ -1,193 +1,193 @@\n EscapeDebug in alloc::str - Rust
    \n-

    Struct alloc::str::EscapeDebug

    1.34.0 \u00b7 source \u00b7
    pub struct EscapeDebug<'a> { /* private fields */ }
    Expand description

    The return type of str::escape_debug.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for EscapeDebug<'a>

    source\u00a7

    fn clone(&self) -> EscapeDebug<'a> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a> Debug for EscapeDebug<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> Display for EscapeDebug<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> Iterator for EscapeDebug<'a>

    \u00a7

    type Item = char

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<char>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn try_fold<Acc, Fold, R>(&mut self, init: Acc, fold: Fold) -> R
    where\n- EscapeDebug<'a>: Sized,\n- Fold: FnMut(Acc, <EscapeDebug<'a> as Iterator>::Item) -> R,\n- R: Try<Output = Acc>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    source\u00a7

    fn fold<Acc, Fold>(self, init: Acc, fold: Fold) -> Acc
    where\n- Fold: FnMut(Acc, <EscapeDebug<'a> as Iterator>::Item) -> Acc,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Struct alloc::str::EscapeDebug

    1.34.0 \u00b7 source \u00b7
    pub struct EscapeDebug<'a> { /* private fields */ }
    Expand description

    The return type of str::escape_debug.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for EscapeDebug<'a>

    source\u00a7

    fn clone(&self) -> EscapeDebug<'a> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a> Debug for EscapeDebug<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> Display for EscapeDebug<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> Iterator for EscapeDebug<'a>

    \u00a7

    type Item = char

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<char>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn try_fold<Acc, Fold, R>(&mut self, init: Acc, fold: Fold) -> R
    where\n+ EscapeDebug<'a>: Sized,\n+ Fold: FnMut(Acc, <EscapeDebug<'a> as Iterator>::Item) -> R,\n+ R: Try<Output = Acc>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    source\u00a7

    fn fold<Acc, Fold>(self, init: Acc, fold: Fold) -> Acc
    where\n+ Fold: FnMut(Acc, <EscapeDebug<'a> as Iterator>::Item) -> Acc,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<'a> FusedIterator for EscapeDebug<'a>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for EscapeDebug<'a>

    \u00a7

    impl<'a> RefUnwindSafe for EscapeDebug<'a>

    \u00a7

    impl<'a> Send for EscapeDebug<'a>

    \u00a7

    impl<'a> Sync for EscapeDebug<'a>

    \u00a7

    impl<'a> Unpin for EscapeDebug<'a>

    \u00a7

    impl<'a> UnwindSafe for EscapeDebug<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<'a> FusedIterator for EscapeDebug<'a>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for EscapeDebug<'a>

    \u00a7

    impl<'a> RefUnwindSafe for EscapeDebug<'a>

    \u00a7

    impl<'a> Send for EscapeDebug<'a>

    \u00a7

    impl<'a> Sync for EscapeDebug<'a>

    \u00a7

    impl<'a> Unpin for EscapeDebug<'a>

    \u00a7

    impl<'a> UnwindSafe for EscapeDebug<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n- T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n+ T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.EscapeDefault.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.EscapeDefault.html", "unified_diff": "@@ -1,193 +1,193 @@\n EscapeDefault in alloc::str - Rust
    \n-

    Struct alloc::str::EscapeDefault

    1.34.0 \u00b7 source \u00b7
    pub struct EscapeDefault<'a> { /* private fields */ }
    Expand description

    The return type of str::escape_default.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for EscapeDefault<'a>

    source\u00a7

    fn clone(&self) -> EscapeDefault<'a> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a> Debug for EscapeDefault<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> Display for EscapeDefault<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> Iterator for EscapeDefault<'a>

    \u00a7

    type Item = char

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<char>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn try_fold<Acc, Fold, R>(&mut self, init: Acc, fold: Fold) -> R
    where\n- EscapeDefault<'a>: Sized,\n- Fold: FnMut(Acc, <EscapeDefault<'a> as Iterator>::Item) -> R,\n- R: Try<Output = Acc>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    source\u00a7

    fn fold<Acc, Fold>(self, init: Acc, fold: Fold) -> Acc
    where\n- Fold: FnMut(Acc, <EscapeDefault<'a> as Iterator>::Item) -> Acc,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Struct alloc::str::EscapeDefault

    1.34.0 \u00b7 source \u00b7
    pub struct EscapeDefault<'a> { /* private fields */ }
    Expand description

    The return type of str::escape_default.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for EscapeDefault<'a>

    source\u00a7

    fn clone(&self) -> EscapeDefault<'a> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a> Debug for EscapeDefault<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> Display for EscapeDefault<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> Iterator for EscapeDefault<'a>

    \u00a7

    type Item = char

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<char>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn try_fold<Acc, Fold, R>(&mut self, init: Acc, fold: Fold) -> R
    where\n+ EscapeDefault<'a>: Sized,\n+ Fold: FnMut(Acc, <EscapeDefault<'a> as Iterator>::Item) -> R,\n+ R: Try<Output = Acc>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    source\u00a7

    fn fold<Acc, Fold>(self, init: Acc, fold: Fold) -> Acc
    where\n+ Fold: FnMut(Acc, <EscapeDefault<'a> as Iterator>::Item) -> Acc,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<'a> FusedIterator for EscapeDefault<'a>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for EscapeDefault<'a>

    \u00a7

    impl<'a> RefUnwindSafe for EscapeDefault<'a>

    \u00a7

    impl<'a> Send for EscapeDefault<'a>

    \u00a7

    impl<'a> Sync for EscapeDefault<'a>

    \u00a7

    impl<'a> Unpin for EscapeDefault<'a>

    \u00a7

    impl<'a> UnwindSafe for EscapeDefault<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<'a> FusedIterator for EscapeDefault<'a>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for EscapeDefault<'a>

    \u00a7

    impl<'a> RefUnwindSafe for EscapeDefault<'a>

    \u00a7

    impl<'a> Send for EscapeDefault<'a>

    \u00a7

    impl<'a> Sync for EscapeDefault<'a>

    \u00a7

    impl<'a> Unpin for EscapeDefault<'a>

    \u00a7

    impl<'a> UnwindSafe for EscapeDefault<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n- T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n+ T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.EscapeUnicode.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.EscapeUnicode.html", "unified_diff": "@@ -1,193 +1,193 @@\n EscapeUnicode in alloc::str - Rust
    \n-

    Struct alloc::str::EscapeUnicode

    1.34.0 \u00b7 source \u00b7
    pub struct EscapeUnicode<'a> { /* private fields */ }
    Expand description

    The return type of str::escape_unicode.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for EscapeUnicode<'a>

    source\u00a7

    fn clone(&self) -> EscapeUnicode<'a> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a> Debug for EscapeUnicode<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> Display for EscapeUnicode<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> Iterator for EscapeUnicode<'a>

    \u00a7

    type Item = char

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<char>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn try_fold<Acc, Fold, R>(&mut self, init: Acc, fold: Fold) -> R
    where\n- EscapeUnicode<'a>: Sized,\n- Fold: FnMut(Acc, <EscapeUnicode<'a> as Iterator>::Item) -> R,\n- R: Try<Output = Acc>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    source\u00a7

    fn fold<Acc, Fold>(self, init: Acc, fold: Fold) -> Acc
    where\n- Fold: FnMut(Acc, <EscapeUnicode<'a> as Iterator>::Item) -> Acc,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Struct alloc::str::EscapeUnicode

    1.34.0 \u00b7 source \u00b7
    pub struct EscapeUnicode<'a> { /* private fields */ }
    Expand description

    The return type of str::escape_unicode.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for EscapeUnicode<'a>

    source\u00a7

    fn clone(&self) -> EscapeUnicode<'a> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a> Debug for EscapeUnicode<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> Display for EscapeUnicode<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> Iterator for EscapeUnicode<'a>

    \u00a7

    type Item = char

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<char>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn try_fold<Acc, Fold, R>(&mut self, init: Acc, fold: Fold) -> R
    where\n+ EscapeUnicode<'a>: Sized,\n+ Fold: FnMut(Acc, <EscapeUnicode<'a> as Iterator>::Item) -> R,\n+ R: Try<Output = Acc>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    source\u00a7

    fn fold<Acc, Fold>(self, init: Acc, fold: Fold) -> Acc
    where\n+ Fold: FnMut(Acc, <EscapeUnicode<'a> as Iterator>::Item) -> Acc,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<'a> FusedIterator for EscapeUnicode<'a>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for EscapeUnicode<'a>

    \u00a7

    impl<'a> RefUnwindSafe for EscapeUnicode<'a>

    \u00a7

    impl<'a> Send for EscapeUnicode<'a>

    \u00a7

    impl<'a> Sync for EscapeUnicode<'a>

    \u00a7

    impl<'a> Unpin for EscapeUnicode<'a>

    \u00a7

    impl<'a> UnwindSafe for EscapeUnicode<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<'a> FusedIterator for EscapeUnicode<'a>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for EscapeUnicode<'a>

    \u00a7

    impl<'a> RefUnwindSafe for EscapeUnicode<'a>

    \u00a7

    impl<'a> Send for EscapeUnicode<'a>

    \u00a7

    impl<'a> Sync for EscapeUnicode<'a>

    \u00a7

    impl<'a> Unpin for EscapeUnicode<'a>

    \u00a7

    impl<'a> UnwindSafe for EscapeUnicode<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n- T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n+ T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.Lines.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.Lines.html", "unified_diff": "@@ -1,221 +1,221 @@\n Lines in alloc::str - Rust
    \n-

    Struct alloc::str::Lines

    1.0.0 \u00b7 source \u00b7
    pub struct Lines<'a>(/* private fields */);
    Expand description

    An iterator over the lines of a string, as string slices.

    \n-

    This struct is created with the lines method on str.\n+

    Struct alloc::str::Lines

    1.0.0 \u00b7 source \u00b7
    pub struct Lines<'a>(/* private fields */);
    Expand description

    An iterator over the lines of a string, as string slices.

    \n+

    This struct is created with the lines method on str.\n See its documentation for more.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a> Lines<'a>

    source

    pub fn remainder(&self) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (str_lines_remainder #77998)

    Returns the remaining lines of the split string.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a> Lines<'a>

    source

    pub fn remainder(&self) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (str_lines_remainder #77998)

    Returns the remaining lines of the split string.

    \n
    \u00a7Examples
    \n
    #![feature(str_lines_remainder)]\n \n let mut lines = \"a\\nb\\nc\\nd\".lines();\n assert_eq!(lines.remainder(), Some(\"a\\nb\\nc\\nd\"));\n \n lines.next();\n assert_eq!(lines.remainder(), Some(\"b\\nc\\nd\"));\n \n lines.by_ref().for_each(drop);\n assert_eq!(lines.remainder(), None);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for Lines<'a>

    source\u00a7

    fn clone(&self) -> Lines<'a> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a> Debug for Lines<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> DoubleEndedIterator for Lines<'a>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a str>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a> Iterator for Lines<'a>

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<&'a str>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for Lines<'a>

    source\u00a7

    fn clone(&self) -> Lines<'a> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a> Debug for Lines<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> DoubleEndedIterator for Lines<'a>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a str>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a> Iterator for Lines<'a>

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<&'a str>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl FusedIterator for Lines<'_>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for Lines<'a>

    \u00a7

    impl<'a> RefUnwindSafe for Lines<'a>

    \u00a7

    impl<'a> Send for Lines<'a>

    \u00a7

    impl<'a> Sync for Lines<'a>

    \u00a7

    impl<'a> Unpin for Lines<'a>

    \u00a7

    impl<'a> UnwindSafe for Lines<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl FusedIterator for Lines<'_>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for Lines<'a>

    \u00a7

    impl<'a> RefUnwindSafe for Lines<'a>

    \u00a7

    impl<'a> Send for Lines<'a>

    \u00a7

    impl<'a> Sync for Lines<'a>

    \u00a7

    impl<'a> Unpin for Lines<'a>

    \u00a7

    impl<'a> UnwindSafe for Lines<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.LinesAny.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.LinesAny.html", "unified_diff": "@@ -1,208 +1,208 @@\n LinesAny in alloc::str - Rust
    \n-

    Struct alloc::str::LinesAny

    1.0.0 \u00b7 source \u00b7
    pub struct LinesAny<'a>(/* private fields */);
    \ud83d\udc4eDeprecated since 1.4.0: use lines()/Lines instead now
    Expand description

    Created with the method lines_any.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for LinesAny<'a>

    source\u00a7

    fn clone(&self) -> LinesAny<'a> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a> Debug for LinesAny<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> DoubleEndedIterator for LinesAny<'a>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a str>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a> Iterator for LinesAny<'a>

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Struct alloc::str::LinesAny

    1.0.0 \u00b7 source \u00b7
    pub struct LinesAny<'a>(/* private fields */);
    \ud83d\udc4eDeprecated since 1.4.0: use lines()/Lines instead now
    Expand description

    Created with the method lines_any.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for LinesAny<'a>

    source\u00a7

    fn clone(&self) -> LinesAny<'a> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a> Debug for LinesAny<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> DoubleEndedIterator for LinesAny<'a>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a str>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a> Iterator for LinesAny<'a>

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl FusedIterator for LinesAny<'_>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for LinesAny<'a>

    \u00a7

    impl<'a> RefUnwindSafe for LinesAny<'a>

    \u00a7

    impl<'a> Send for LinesAny<'a>

    \u00a7

    impl<'a> Sync for LinesAny<'a>

    \u00a7

    impl<'a> Unpin for LinesAny<'a>

    \u00a7

    impl<'a> UnwindSafe for LinesAny<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl FusedIterator for LinesAny<'_>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for LinesAny<'a>

    \u00a7

    impl<'a> RefUnwindSafe for LinesAny<'a>

    \u00a7

    impl<'a> Send for LinesAny<'a>

    \u00a7

    impl<'a> Sync for LinesAny<'a>

    \u00a7

    impl<'a> Unpin for LinesAny<'a>

    \u00a7

    impl<'a> UnwindSafe for LinesAny<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.MatchIndices.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.MatchIndices.html", "unified_diff": "@@ -1,217 +1,217 @@\n MatchIndices in alloc::str - Rust
    \n-

    Struct alloc::str::MatchIndices

    1.5.0 \u00b7 source \u00b7
    pub struct MatchIndices<'a, P>(/* private fields */)\n+    

    Struct alloc::str::MatchIndices

    1.5.0 \u00b7 source \u00b7
    pub struct MatchIndices<'a, P>(/* private fields */)\n where\n-    P: Pattern<'a>;
    Expand description

    Created with the method match_indices.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, P> Clone for MatchIndices<'a, P>
    where\n+ P: Pattern<'a>;

    Expand description

    Created with the method match_indices.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, P> Clone for MatchIndices<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Clone,

    source\u00a7

    fn clone(&self) -> MatchIndices<'a, P> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, P> Debug for MatchIndices<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Clone,

    source\u00a7

    fn clone(&self) -> MatchIndices<'a, P> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, P> Debug for MatchIndices<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, P> DoubleEndedIterator for MatchIndices<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, P> DoubleEndedIterator for MatchIndices<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    source\u00a7

    fn next_back(&mut self) -> Option<(usize, &'a str)>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, P> Iterator for MatchIndices<'a, P>
    where\n- P: Pattern<'a>,

    \u00a7

    type Item = (usize, &'a str)

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<(usize, &'a str)>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    source\u00a7

    fn next_back(&mut self) -> Option<(usize, &'a str)>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, P> Iterator for MatchIndices<'a, P>
    where\n+ P: Pattern<'a>,

    \u00a7

    type Item = (usize, &'a str)

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<(usize, &'a str)>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, P> FusedIterator for MatchIndices<'a, P>
    where\n- P: Pattern<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for MatchIndices<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for MatchIndices<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for MatchIndices<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Send,

    \u00a7

    impl<'a, P> Sync for MatchIndices<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Sync,

    \u00a7

    impl<'a, P> Unpin for MatchIndices<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for MatchIndices<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, P> FusedIterator for MatchIndices<'a, P>
    where\n+ P: Pattern<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for MatchIndices<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for MatchIndices<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for MatchIndices<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Send,

    \u00a7

    impl<'a, P> Sync for MatchIndices<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Sync,

    \u00a7

    impl<'a, P> Unpin for MatchIndices<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for MatchIndices<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.Matches.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.Matches.html", "unified_diff": "@@ -1,217 +1,217 @@\n Matches in alloc::str - Rust
    \n-

    Struct alloc::str::Matches

    1.2.0 \u00b7 source \u00b7
    pub struct Matches<'a, P>(/* private fields */)\n+    

    Struct alloc::str::Matches

    1.2.0 \u00b7 source \u00b7
    pub struct Matches<'a, P>(/* private fields */)\n where\n-    P: Pattern<'a>;
    Expand description

    Created with the method matches.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, P> Clone for Matches<'a, P>
    where\n+ P: Pattern<'a>;

    Expand description

    Created with the method matches.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, P> Clone for Matches<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Clone,

    source\u00a7

    fn clone(&self) -> Matches<'a, P> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, P> Debug for Matches<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Clone,

    source\u00a7

    fn clone(&self) -> Matches<'a, P> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, P> Debug for Matches<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, P> DoubleEndedIterator for Matches<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, P> DoubleEndedIterator for Matches<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a str>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, P> Iterator for Matches<'a, P>
    where\n- P: Pattern<'a>,

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a str>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, P> Iterator for Matches<'a, P>
    where\n+ P: Pattern<'a>,

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, P> FusedIterator for Matches<'a, P>
    where\n- P: Pattern<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for Matches<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for Matches<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for Matches<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Send,

    \u00a7

    impl<'a, P> Sync for Matches<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Sync,

    \u00a7

    impl<'a, P> Unpin for Matches<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for Matches<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, P> FusedIterator for Matches<'a, P>
    where\n+ P: Pattern<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for Matches<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for Matches<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for Matches<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Send,

    \u00a7

    impl<'a, P> Sync for Matches<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Sync,

    \u00a7

    impl<'a, P> Unpin for Matches<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for Matches<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.ParseBoolError.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.ParseBoolError.html", "unified_diff": "@@ -1,17 +1,17 @@\n ParseBoolError in alloc::str - Rust
    \n-

    Struct alloc::str::ParseBoolError

    1.0.0 \u00b7 source \u00b7
    #[non_exhaustive]
    pub struct ParseBoolError;
    Expand description

    An error returned when parsing a bool using from_str fails

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl Clone for ParseBoolError

    source\u00a7

    fn clone(&self) -> ParseBoolError

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for ParseBoolError

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Display for ParseBoolError

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Error for ParseBoolError

    source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    1.30.0 \u00b7 source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more
    source\u00a7

    impl PartialEq for ParseBoolError

    source\u00a7

    fn eq(&self, other: &ParseBoolError) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl Eq for ParseBoolError

    source\u00a7

    impl StructuralPartialEq for ParseBoolError

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Struct alloc::str::ParseBoolError

    1.0.0 \u00b7 source \u00b7
    #[non_exhaustive]
    pub struct ParseBoolError;
    Expand description

    An error returned when parsing a bool using from_str fails

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl Clone for ParseBoolError

    source\u00a7

    fn clone(&self) -> ParseBoolError

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for ParseBoolError

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Display for ParseBoolError

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Error for ParseBoolError

    source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    1.30.0 \u00b7 source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more
    source\u00a7

    impl PartialEq for ParseBoolError

    source\u00a7

    fn eq(&self, other: &ParseBoolError) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl Eq for ParseBoolError

    source\u00a7

    impl StructuralPartialEq for ParseBoolError

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n- T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n+ T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.RMatchIndices.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.RMatchIndices.html", "unified_diff": "@@ -1,219 +1,219 @@\n RMatchIndices in alloc::str - Rust
    \n-

    Struct alloc::str::RMatchIndices

    1.5.0 \u00b7 source \u00b7
    pub struct RMatchIndices<'a, P>(/* private fields */)\n+    

    Struct alloc::str::RMatchIndices

    1.5.0 \u00b7 source \u00b7
    pub struct RMatchIndices<'a, P>(/* private fields */)\n where\n-    P: Pattern<'a>;
    Expand description

    Created with the method rmatch_indices.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, P> Clone for RMatchIndices<'a, P>
    where\n+ P: Pattern<'a>;

    Expand description

    Created with the method rmatch_indices.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, P> Clone for RMatchIndices<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Clone,

    source\u00a7

    fn clone(&self) -> RMatchIndices<'a, P> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, P> Debug for RMatchIndices<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Clone,

    source\u00a7

    fn clone(&self) -> RMatchIndices<'a, P> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, P> Debug for RMatchIndices<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, P> DoubleEndedIterator for RMatchIndices<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, P> DoubleEndedIterator for RMatchIndices<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    source\u00a7

    fn next_back(&mut self) -> Option<(usize, &'a str)>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, P> Iterator for RMatchIndices<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    source\u00a7

    fn next_back(&mut self) -> Option<(usize, &'a str)>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, P> Iterator for RMatchIndices<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    \u00a7

    type Item = (usize, &'a str)

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<(usize, &'a str)>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    \u00a7

    type Item = (usize, &'a str)

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<(usize, &'a str)>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, P> FusedIterator for RMatchIndices<'a, P>
    where\n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, P> FusedIterator for RMatchIndices<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for RMatchIndices<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for RMatchIndices<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for RMatchIndices<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Send,

    \u00a7

    impl<'a, P> Sync for RMatchIndices<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Sync,

    \u00a7

    impl<'a, P> Unpin for RMatchIndices<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for RMatchIndices<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+ <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for RMatchIndices<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for RMatchIndices<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for RMatchIndices<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Send,

    \u00a7

    impl<'a, P> Sync for RMatchIndices<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Sync,

    \u00a7

    impl<'a, P> Unpin for RMatchIndices<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for RMatchIndices<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.RMatches.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.RMatches.html", "unified_diff": "@@ -1,219 +1,219 @@\n RMatches in alloc::str - Rust
    \n-

    Struct alloc::str::RMatches

    1.2.0 \u00b7 source \u00b7
    pub struct RMatches<'a, P>(/* private fields */)\n+    

    Struct alloc::str::RMatches

    1.2.0 \u00b7 source \u00b7
    pub struct RMatches<'a, P>(/* private fields */)\n where\n-    P: Pattern<'a>;
    Expand description

    Created with the method rmatches.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, P> Clone for RMatches<'a, P>
    where\n+ P: Pattern<'a>;

    Expand description

    Created with the method rmatches.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, P> Clone for RMatches<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Clone,

    source\u00a7

    fn clone(&self) -> RMatches<'a, P> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, P> Debug for RMatches<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Clone,

    source\u00a7

    fn clone(&self) -> RMatches<'a, P> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, P> Debug for RMatches<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, P> DoubleEndedIterator for RMatches<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, P> DoubleEndedIterator for RMatches<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a str>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, P> Iterator for RMatches<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a str>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, P> Iterator for RMatches<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, P> FusedIterator for RMatches<'a, P>
    where\n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, P> FusedIterator for RMatches<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for RMatches<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for RMatches<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for RMatches<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Send,

    \u00a7

    impl<'a, P> Sync for RMatches<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Sync,

    \u00a7

    impl<'a, P> Unpin for RMatches<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for RMatches<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+ <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for RMatches<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for RMatches<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for RMatches<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Send,

    \u00a7

    impl<'a, P> Sync for RMatches<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Sync,

    \u00a7

    impl<'a, P> Unpin for RMatches<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for RMatches<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.RSplit.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.RSplit.html", "unified_diff": "@@ -1,230 +1,230 @@\n RSplit in alloc::str - Rust
    \n-

    Struct alloc::str::RSplit

    1.0.0 \u00b7 source \u00b7
    pub struct RSplit<'a, P>(/* private fields */)\n+    

    Struct alloc::str::RSplit

    1.0.0 \u00b7 source \u00b7
    pub struct RSplit<'a, P>(/* private fields */)\n where\n-    P: Pattern<'a>;
    Expand description

    Created with the method rsplit.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, P> RSplit<'a, P>
    where\n- P: Pattern<'a>,

    source

    pub fn remainder(&self) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (str_split_remainder #77998)

    Returns remainder of the split string.

    \n+ P: Pattern<'a>;
    Expand description

    Created with the method rsplit.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a, P> RSplit<'a, P>
    where\n+ P: Pattern<'a>,

    source

    pub fn remainder(&self) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (str_split_remainder #77998)

    Returns remainder of the split string.

    \n

    If the iterator is empty, returns None.

    \n
    \u00a7Examples
    \n
    #![feature(str_split_remainder)]\n let mut split = \"Mary had a little lamb\".rsplit(' ');\n assert_eq!(split.remainder(), Some(\"Mary had a little lamb\"));\n split.next();\n assert_eq!(split.remainder(), Some(\"Mary had a little\"));\n split.by_ref().for_each(drop);\n assert_eq!(split.remainder(), None);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, P> Clone for RSplit<'a, P>
    where\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, P> Clone for RSplit<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Clone,

    source\u00a7

    fn clone(&self) -> RSplit<'a, P> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, P> Debug for RSplit<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Clone,

    source\u00a7

    fn clone(&self) -> RSplit<'a, P> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, P> Debug for RSplit<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, P> DoubleEndedIterator for RSplit<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, P> DoubleEndedIterator for RSplit<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a str>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, P> Iterator for RSplit<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a str>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, P> Iterator for RSplit<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, P> FusedIterator for RSplit<'a, P>
    where\n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, P> FusedIterator for RSplit<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for RSplit<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for RSplit<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for RSplit<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Send,

    \u00a7

    impl<'a, P> Sync for RSplit<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Sync,

    \u00a7

    impl<'a, P> Unpin for RSplit<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for RSplit<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+ <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for RSplit<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for RSplit<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for RSplit<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Send,

    \u00a7

    impl<'a, P> Sync for RSplit<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Sync,

    \u00a7

    impl<'a, P> Unpin for RSplit<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for RSplit<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.RSplitN.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.RSplitN.html", "unified_diff": "@@ -1,219 +1,219 @@\n RSplitN in alloc::str - Rust
    \n-

    Struct alloc::str::RSplitN

    1.0.0 \u00b7 source \u00b7
    pub struct RSplitN<'a, P>(/* private fields */)\n+    

    Struct alloc::str::RSplitN

    1.0.0 \u00b7 source \u00b7
    pub struct RSplitN<'a, P>(/* private fields */)\n where\n-    P: Pattern<'a>;
    Expand description

    Created with the method rsplitn.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, P> RSplitN<'a, P>
    where\n- P: Pattern<'a>,

    source

    pub fn remainder(&self) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (str_split_remainder #77998)

    Returns remainder of the split string.

    \n+ P: Pattern<'a>;
    Expand description

    Created with the method rsplitn.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a, P> RSplitN<'a, P>
    where\n+ P: Pattern<'a>,

    source

    pub fn remainder(&self) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (str_split_remainder #77998)

    Returns remainder of the split string.

    \n

    If the iterator is empty, returns None.

    \n
    \u00a7Examples
    \n
    #![feature(str_split_remainder)]\n let mut split = \"Mary had a little lamb\".rsplitn(3, ' ');\n assert_eq!(split.remainder(), Some(\"Mary had a little lamb\"));\n split.next();\n assert_eq!(split.remainder(), Some(\"Mary had a little\"));\n split.by_ref().for_each(drop);\n assert_eq!(split.remainder(), None);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, P> Clone for RSplitN<'a, P>
    where\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, P> Clone for RSplitN<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Clone,

    source\u00a7

    fn clone(&self) -> RSplitN<'a, P> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, P> Debug for RSplitN<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Clone,

    source\u00a7

    fn clone(&self) -> RSplitN<'a, P> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, P> Debug for RSplitN<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, P> Iterator for RSplitN<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, P> Iterator for RSplitN<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, P> FusedIterator for RSplitN<'a, P>
    where\n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, P> FusedIterator for RSplitN<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for RSplitN<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for RSplitN<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for RSplitN<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Send,

    \u00a7

    impl<'a, P> Sync for RSplitN<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Sync,

    \u00a7

    impl<'a, P> Unpin for RSplitN<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for RSplitN<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+ <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for RSplitN<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for RSplitN<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for RSplitN<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Send,

    \u00a7

    impl<'a, P> Sync for RSplitN<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Sync,

    \u00a7

    impl<'a, P> Unpin for RSplitN<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for RSplitN<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.RSplitTerminator.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.RSplitTerminator.html", "unified_diff": "@@ -1,230 +1,230 @@\n RSplitTerminator in alloc::str - Rust
    \n-

    Struct alloc::str::RSplitTerminator

    1.0.0 \u00b7 source \u00b7
    pub struct RSplitTerminator<'a, P>(/* private fields */)\n+    

    Struct alloc::str::RSplitTerminator

    1.0.0 \u00b7 source \u00b7
    pub struct RSplitTerminator<'a, P>(/* private fields */)\n where\n-    P: Pattern<'a>;
    Expand description

    Created with the method rsplit_terminator.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, P> RSplitTerminator<'a, P>
    where\n- P: Pattern<'a>,

    source

    pub fn remainder(&self) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (str_split_remainder #77998)

    Returns remainder of the split string.

    \n+ P: Pattern<'a>;
    Expand description

    Created with the method rsplit_terminator.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a, P> RSplitTerminator<'a, P>
    where\n+ P: Pattern<'a>,

    source

    pub fn remainder(&self) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (str_split_remainder #77998)

    Returns remainder of the split string.

    \n

    If the iterator is empty, returns None.

    \n
    \u00a7Examples
    \n
    #![feature(str_split_remainder)]\n let mut split = \"A..B..\".rsplit_terminator('.');\n assert_eq!(split.remainder(), Some(\"A..B..\"));\n split.next();\n assert_eq!(split.remainder(), Some(\"A..B\"));\n split.by_ref().for_each(drop);\n assert_eq!(split.remainder(), None);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, P> Clone for RSplitTerminator<'a, P>
    where\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, P> Clone for RSplitTerminator<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Clone,

    source\u00a7

    fn clone(&self) -> RSplitTerminator<'a, P> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, P> Debug for RSplitTerminator<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Clone,

    source\u00a7

    fn clone(&self) -> RSplitTerminator<'a, P> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, P> Debug for RSplitTerminator<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, P> DoubleEndedIterator for RSplitTerminator<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, P> DoubleEndedIterator for RSplitTerminator<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a str>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, P> Iterator for RSplitTerminator<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a str>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, P> Iterator for RSplitTerminator<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, P> FusedIterator for RSplitTerminator<'a, P>
    where\n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, P> FusedIterator for RSplitTerminator<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for RSplitTerminator<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for RSplitTerminator<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for RSplitTerminator<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Send,

    \u00a7

    impl<'a, P> Sync for RSplitTerminator<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Sync,

    \u00a7

    impl<'a, P> Unpin for RSplitTerminator<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for RSplitTerminator<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+ <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for RSplitTerminator<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for RSplitTerminator<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for RSplitTerminator<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Send,

    \u00a7

    impl<'a, P> Sync for RSplitTerminator<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Sync,

    \u00a7

    impl<'a, P> Unpin for RSplitTerminator<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for RSplitTerminator<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.Split.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.Split.html", "unified_diff": "@@ -1,228 +1,228 @@\n Split in alloc::str - Rust
    \n-

    Struct alloc::str::Split

    1.0.0 \u00b7 source \u00b7
    pub struct Split<'a, P>(/* private fields */)\n+    

    Struct alloc::str::Split

    1.0.0 \u00b7 source \u00b7
    pub struct Split<'a, P>(/* private fields */)\n where\n-    P: Pattern<'a>;
    Expand description

    Created with the method split.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, P> Split<'a, P>
    where\n- P: Pattern<'a>,

    source

    pub fn remainder(&self) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (str_split_remainder #77998)

    Returns remainder of the split string.

    \n+ P: Pattern<'a>;
    Expand description

    Created with the method split.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a, P> Split<'a, P>
    where\n+ P: Pattern<'a>,

    source

    pub fn remainder(&self) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (str_split_remainder #77998)

    Returns remainder of the split string.

    \n

    If the iterator is empty, returns None.

    \n
    \u00a7Examples
    \n
    #![feature(str_split_remainder)]\n let mut split = \"Mary had a little lamb\".split(' ');\n assert_eq!(split.remainder(), Some(\"Mary had a little lamb\"));\n split.next();\n assert_eq!(split.remainder(), Some(\"had a little lamb\"));\n split.by_ref().for_each(drop);\n assert_eq!(split.remainder(), None);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, P> Clone for Split<'a, P>
    where\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, P> Clone for Split<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Clone,

    source\u00a7

    fn clone(&self) -> Split<'a, P> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, P> Debug for Split<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Clone,

    source\u00a7

    fn clone(&self) -> Split<'a, P> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, P> Debug for Split<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, P> DoubleEndedIterator for Split<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, P> DoubleEndedIterator for Split<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a str>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, P> Iterator for Split<'a, P>
    where\n- P: Pattern<'a>,

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a str>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, P> Iterator for Split<'a, P>
    where\n+ P: Pattern<'a>,

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, P> FusedIterator for Split<'a, P>
    where\n- P: Pattern<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for Split<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for Split<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for Split<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Send,

    \u00a7

    impl<'a, P> Sync for Split<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Sync,

    \u00a7

    impl<'a, P> Unpin for Split<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for Split<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, P> FusedIterator for Split<'a, P>
    where\n+ P: Pattern<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for Split<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for Split<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for Split<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Send,

    \u00a7

    impl<'a, P> Sync for Split<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Sync,

    \u00a7

    impl<'a, P> Unpin for Split<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for Split<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.SplitAsciiWhitespace.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.SplitAsciiWhitespace.html", "unified_diff": "@@ -1,223 +1,223 @@\n SplitAsciiWhitespace in alloc::str - Rust
    \n-

    Struct alloc::str::SplitAsciiWhitespace

    1.34.0 \u00b7 source \u00b7
    pub struct SplitAsciiWhitespace<'a> { /* private fields */ }
    Expand description

    An iterator over the non-ASCII-whitespace substrings of a string,\n+

    Struct alloc::str::SplitAsciiWhitespace

    1.34.0 \u00b7 source \u00b7
    pub struct SplitAsciiWhitespace<'a> { /* private fields */ }
    Expand description

    An iterator over the non-ASCII-whitespace substrings of a string,\n separated by any amount of ASCII whitespace.

    \n-

    This struct is created by the split_ascii_whitespace method on str.\n+

    This struct is created by the split_ascii_whitespace method on str.\n See its documentation for more.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a> SplitAsciiWhitespace<'a>

    source

    pub fn remainder(&self) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (str_split_whitespace_remainder #77998)

    Returns remainder of the split string.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a> SplitAsciiWhitespace<'a>

    source

    pub fn remainder(&self) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (str_split_whitespace_remainder #77998)

    Returns remainder of the split string.

    \n

    If the iterator is empty, returns None.

    \n
    \u00a7Examples
    \n
    #![feature(str_split_whitespace_remainder)]\n \n let mut split = \"Mary had a little lamb\".split_ascii_whitespace();\n assert_eq!(split.remainder(), Some(\"Mary had a little lamb\"));\n \n split.next();\n assert_eq!(split.remainder(), Some(\"had a little lamb\"));\n \n split.by_ref().for_each(drop);\n assert_eq!(split.remainder(), None);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for SplitAsciiWhitespace<'a>

    source\u00a7

    fn clone(&self) -> SplitAsciiWhitespace<'a> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a> Debug for SplitAsciiWhitespace<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> DoubleEndedIterator for SplitAsciiWhitespace<'a>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a str>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a> Iterator for SplitAsciiWhitespace<'a>

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<&'a str>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for SplitAsciiWhitespace<'a>

    source\u00a7

    fn clone(&self) -> SplitAsciiWhitespace<'a> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a> Debug for SplitAsciiWhitespace<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> DoubleEndedIterator for SplitAsciiWhitespace<'a>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a str>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a> Iterator for SplitAsciiWhitespace<'a>

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<&'a str>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl FusedIterator for SplitAsciiWhitespace<'_>

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl FusedIterator for SplitAsciiWhitespace<'_>

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.SplitInclusive.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.SplitInclusive.html", "unified_diff": "@@ -1,233 +1,233 @@\n SplitInclusive in alloc::str - Rust
    \n-

    Struct alloc::str::SplitInclusive

    1.51.0 \u00b7 source \u00b7
    pub struct SplitInclusive<'a, P>(/* private fields */)\n+    

    Struct alloc::str::SplitInclusive

    1.51.0 \u00b7 source \u00b7
    pub struct SplitInclusive<'a, P>(/* private fields */)\n where\n     P: Pattern<'a>;
    Expand description

    An iterator over the substrings of a string,\n terminated by a substring matching to a predicate function\n Unlike Split, it contains the matched part as a terminator\n of the subslice.

    \n-

    This struct is created by the split_inclusive method on str.\n+

    This struct is created by the split_inclusive method on str.\n See its documentation for more.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, P> SplitInclusive<'a, P>
    where\n- P: Pattern<'a>,

    source

    pub fn remainder(&self) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (str_split_inclusive_remainder #77998)

    Returns remainder of the split string.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a, P> SplitInclusive<'a, P>
    where\n+ P: Pattern<'a>,

    source

    pub fn remainder(&self) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (str_split_inclusive_remainder #77998)

    Returns remainder of the split string.

    \n

    If the iterator is empty, returns None.

    \n
    \u00a7Examples
    \n
    #![feature(str_split_inclusive_remainder)]\n let mut split = \"Mary had a little lamb\".split_inclusive(' ');\n assert_eq!(split.remainder(), Some(\"Mary had a little lamb\"));\n split.next();\n assert_eq!(split.remainder(), Some(\"had a little lamb\"));\n split.by_ref().for_each(drop);\n assert_eq!(split.remainder(), None);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, P> Clone for SplitInclusive<'a, P>
    where\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, P> Clone for SplitInclusive<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Clone,

    source\u00a7

    fn clone(&self) -> SplitInclusive<'a, P> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, P> Debug for SplitInclusive<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Clone,

    source\u00a7

    fn clone(&self) -> SplitInclusive<'a, P> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, P> Debug for SplitInclusive<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, P> DoubleEndedIterator for SplitInclusive<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, P> DoubleEndedIterator for SplitInclusive<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a str>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, P> Iterator for SplitInclusive<'a, P>
    where\n- P: Pattern<'a>,

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a str>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, P> Iterator for SplitInclusive<'a, P>
    where\n+ P: Pattern<'a>,

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl<'a, P> FusedIterator for SplitInclusive<'a, P>
    where\n- P: Pattern<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for SplitInclusive<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for SplitInclusive<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for SplitInclusive<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Send,

    \u00a7

    impl<'a, P> Sync for SplitInclusive<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Sync,

    \u00a7

    impl<'a, P> Unpin for SplitInclusive<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for SplitInclusive<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl<'a, P> FusedIterator for SplitInclusive<'a, P>
    where\n+ P: Pattern<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for SplitInclusive<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for SplitInclusive<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for SplitInclusive<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Send,

    \u00a7

    impl<'a, P> Sync for SplitInclusive<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Sync,

    \u00a7

    impl<'a, P> Unpin for SplitInclusive<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for SplitInclusive<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.SplitN.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.SplitN.html", "unified_diff": "@@ -1,217 +1,217 @@\n SplitN in alloc::str - Rust
    \n-

    Struct alloc::str::SplitN

    1.0.0 \u00b7 source \u00b7
    pub struct SplitN<'a, P>(/* private fields */)\n+    

    Struct alloc::str::SplitN

    1.0.0 \u00b7 source \u00b7
    pub struct SplitN<'a, P>(/* private fields */)\n where\n-    P: Pattern<'a>;
    Expand description

    Created with the method splitn.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, P> SplitN<'a, P>
    where\n- P: Pattern<'a>,

    source

    pub fn remainder(&self) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (str_split_remainder #77998)

    Returns remainder of the split string.

    \n+ P: Pattern<'a>;
    Expand description

    Created with the method splitn.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a, P> SplitN<'a, P>
    where\n+ P: Pattern<'a>,

    source

    pub fn remainder(&self) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (str_split_remainder #77998)

    Returns remainder of the split string.

    \n

    If the iterator is empty, returns None.

    \n
    \u00a7Examples
    \n
    #![feature(str_split_remainder)]\n let mut split = \"Mary had a little lamb\".splitn(3, ' ');\n assert_eq!(split.remainder(), Some(\"Mary had a little lamb\"));\n split.next();\n assert_eq!(split.remainder(), Some(\"had a little lamb\"));\n split.by_ref().for_each(drop);\n assert_eq!(split.remainder(), None);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, P> Clone for SplitN<'a, P>
    where\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, P> Clone for SplitN<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Clone,

    source\u00a7

    fn clone(&self) -> SplitN<'a, P> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, P> Debug for SplitN<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Clone,

    source\u00a7

    fn clone(&self) -> SplitN<'a, P> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, P> Debug for SplitN<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, P> Iterator for SplitN<'a, P>
    where\n- P: Pattern<'a>,

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, P> Iterator for SplitN<'a, P>
    where\n+ P: Pattern<'a>,

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, P> FusedIterator for SplitN<'a, P>
    where\n- P: Pattern<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for SplitN<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for SplitN<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for SplitN<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Send,

    \u00a7

    impl<'a, P> Sync for SplitN<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Sync,

    \u00a7

    impl<'a, P> Unpin for SplitN<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for SplitN<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, P> FusedIterator for SplitN<'a, P>
    where\n+ P: Pattern<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for SplitN<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for SplitN<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for SplitN<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Send,

    \u00a7

    impl<'a, P> Sync for SplitN<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Sync,

    \u00a7

    impl<'a, P> Unpin for SplitN<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for SplitN<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.SplitTerminator.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.SplitTerminator.html", "unified_diff": "@@ -1,228 +1,228 @@\n SplitTerminator in alloc::str - Rust
    \n-

    Struct alloc::str::SplitTerminator

    1.0.0 \u00b7 source \u00b7
    pub struct SplitTerminator<'a, P>(/* private fields */)\n+    

    Struct alloc::str::SplitTerminator

    1.0.0 \u00b7 source \u00b7
    pub struct SplitTerminator<'a, P>(/* private fields */)\n where\n-    P: Pattern<'a>;
    Expand description

    Created with the method split_terminator.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, P> SplitTerminator<'a, P>
    where\n- P: Pattern<'a>,

    source

    pub fn remainder(&self) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (str_split_remainder #77998)

    Returns remainder of the split string.

    \n+ P: Pattern<'a>;
    Expand description

    Created with the method split_terminator.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a, P> SplitTerminator<'a, P>
    where\n+ P: Pattern<'a>,

    source

    pub fn remainder(&self) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (str_split_remainder #77998)

    Returns remainder of the split string.

    \n

    If the iterator is empty, returns None.

    \n
    \u00a7Examples
    \n
    #![feature(str_split_remainder)]\n let mut split = \"A..B..\".split_terminator('.');\n assert_eq!(split.remainder(), Some(\"A..B..\"));\n split.next();\n assert_eq!(split.remainder(), Some(\".B..\"));\n split.by_ref().for_each(drop);\n assert_eq!(split.remainder(), None);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, P> Clone for SplitTerminator<'a, P>
    where\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, P> Clone for SplitTerminator<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Clone,

    source\u00a7

    fn clone(&self) -> SplitTerminator<'a, P> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, P> Debug for SplitTerminator<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Clone,

    source\u00a7

    fn clone(&self) -> SplitTerminator<'a, P> \u24d8

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a, P> Debug for SplitTerminator<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, P> DoubleEndedIterator for SplitTerminator<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a, P> DoubleEndedIterator for SplitTerminator<'a, P>
    where\n P: Pattern<'a>,\n- <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a str>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, P> Iterator for SplitTerminator<'a, P>
    where\n- P: Pattern<'a>,

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    source\u00a7

    fn next_back(&mut self) -> Option<&'a str>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a, P> Iterator for SplitTerminator<'a, P>
    where\n+ P: Pattern<'a>,

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, P> FusedIterator for SplitTerminator<'a, P>
    where\n- P: Pattern<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for SplitTerminator<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for SplitTerminator<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for SplitTerminator<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Send,

    \u00a7

    impl<'a, P> Sync for SplitTerminator<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Sync,

    \u00a7

    impl<'a, P> Unpin for SplitTerminator<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for SplitTerminator<'a, P>
    where\n- <P as Pattern<'a>>::Searcher: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<'a, P> FusedIterator for SplitTerminator<'a, P>
    where\n+ P: Pattern<'a>,

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, P> Freeze for SplitTerminator<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Freeze,

    \u00a7

    impl<'a, P> RefUnwindSafe for SplitTerminator<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: RefUnwindSafe,

    \u00a7

    impl<'a, P> Send for SplitTerminator<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Send,

    \u00a7

    impl<'a, P> Sync for SplitTerminator<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Sync,

    \u00a7

    impl<'a, P> Unpin for SplitTerminator<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: Unpin,

    \u00a7

    impl<'a, P> UnwindSafe for SplitTerminator<'a, P>
    where\n+ <P as Pattern<'a>>::Searcher: UnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.SplitWhitespace.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.SplitWhitespace.html", "unified_diff": "@@ -1,222 +1,222 @@\n SplitWhitespace in alloc::str - Rust
    \n-

    Struct alloc::str::SplitWhitespace

    1.1.0 \u00b7 source \u00b7
    pub struct SplitWhitespace<'a> { /* private fields */ }
    Expand description

    An iterator over the non-whitespace substrings of a string,\n+

    Struct alloc::str::SplitWhitespace

    1.1.0 \u00b7 source \u00b7
    pub struct SplitWhitespace<'a> { /* private fields */ }
    Expand description

    An iterator over the non-whitespace substrings of a string,\n separated by any amount of whitespace.

    \n-

    This struct is created by the split_whitespace method on str.\n+

    This struct is created by the split_whitespace method on str.\n See its documentation for more.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a> SplitWhitespace<'a>

    source

    pub fn remainder(&self) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (str_split_whitespace_remainder #77998)

    Returns remainder of the split string

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a> SplitWhitespace<'a>

    source

    pub fn remainder(&self) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (str_split_whitespace_remainder #77998)

    Returns remainder of the split string

    \n
    \u00a7Examples
    \n
    #![feature(str_split_whitespace_remainder)]\n \n let mut split = \"Mary had a little lamb\".split_whitespace();\n assert_eq!(split.remainder(), Some(\"Mary had a little lamb\"));\n \n split.next();\n assert_eq!(split.remainder(), Some(\"had a little lamb\"));\n \n split.by_ref().for_each(drop);\n assert_eq!(split.remainder(), None);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for SplitWhitespace<'a>

    source\u00a7

    fn clone(&self) -> SplitWhitespace<'a> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a> Debug for SplitWhitespace<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> DoubleEndedIterator for SplitWhitespace<'a>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a str>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a> Iterator for SplitWhitespace<'a>

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<&'a str>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for SplitWhitespace<'a>

    source\u00a7

    fn clone(&self) -> SplitWhitespace<'a> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a> Debug for SplitWhitespace<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> DoubleEndedIterator for SplitWhitespace<'a>

    source\u00a7

    fn next_back(&mut self) -> Option<&'a str>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<'a> Iterator for SplitWhitespace<'a>

    \u00a7

    type Item = &'a str

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<&'a str>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<&'a str>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl FusedIterator for SplitWhitespace<'_>

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl FusedIterator for SplitWhitespace<'_>

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.Utf8Chunk.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.Utf8Chunk.html", "unified_diff": "@@ -1,10 +1,10 @@\n Utf8Chunk in alloc::str - Rust
    \n-

    Struct alloc::str::Utf8Chunk

    source \u00b7
    pub struct Utf8Chunk<'a> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (utf8_chunks #99543)
    Expand description

    An item returned by the Utf8Chunks iterator.

    \n-

    A Utf8Chunk stores a sequence of u8 up to the first broken character\n+

    Struct alloc::str::Utf8Chunk

    source \u00b7
    pub struct Utf8Chunk<'a> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (utf8_chunks #99543)
    Expand description

    An item returned by the Utf8Chunks iterator.

    \n+

    A Utf8Chunk stores a sequence of u8 up to the first broken character\n when decoding a UTF-8 string.

    \n

    \u00a7Examples

    \n
    #![feature(utf8_chunks)]\n \n use std::str::Utf8Chunks;\n \n // An invalid UTF-8 string\n@@ -14,31 +14,31 @@\n let chunk = Utf8Chunks::new(bytes).next().unwrap();\n \n // The first three characters are valid UTF-8\n assert_eq!(\"foo\", chunk.valid());\n \n // The fourth character is broken\n assert_eq!(b\"\\xF1\\x80\", chunk.invalid());
    Run
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a> Utf8Chunk<'a>

    source

    pub fn valid(&self) -> &'a str

    \ud83d\udd2cThis is a nightly-only experimental API. (utf8_chunks #99543)

    Returns the next validated UTF-8 substring.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a> Utf8Chunk<'a>

    source

    pub fn valid(&self) -> &'a str

    \ud83d\udd2cThis is a nightly-only experimental API. (utf8_chunks #99543)

    Returns the next validated UTF-8 substring.

    \n

    This substring can be empty at the start of the string or between\n broken UTF-8 characters.

    \n-
    source

    pub fn invalid(&self) -> &'a [u8]

    \ud83d\udd2cThis is a nightly-only experimental API. (utf8_chunks #99543)

    Returns the invalid sequence that caused a failure.

    \n+
    source

    pub fn invalid(&self) -> &'a [u8]

    \ud83d\udd2cThis is a nightly-only experimental API. (utf8_chunks #99543)

    Returns the invalid sequence that caused a failure.

    \n

    The returned slice will have a maximum length of 3 and starts after the\n substring given by valid. Decoding will resume after this sequence.

    \n

    If empty, this is the last chunk in the string. If non-empty, an\n unexpected byte was encountered or the end of the input was reached\n unexpectedly.

    \n-

    Lossy decoding would replace this sequence with U+FFFD REPLACEMENT CHARACTER.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for Utf8Chunk<'a>

    source\u00a7

    fn clone(&self) -> Utf8Chunk<'a>

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a> Debug for Utf8Chunk<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> PartialEq for Utf8Chunk<'a>

    source\u00a7

    fn eq(&self, other: &Utf8Chunk<'a>) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a> Eq for Utf8Chunk<'a>

    source\u00a7

    impl<'a> StructuralPartialEq for Utf8Chunk<'a>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for Utf8Chunk<'a>

    \u00a7

    impl<'a> RefUnwindSafe for Utf8Chunk<'a>

    \u00a7

    impl<'a> Send for Utf8Chunk<'a>

    \u00a7

    impl<'a> Sync for Utf8Chunk<'a>

    \u00a7

    impl<'a> Unpin for Utf8Chunk<'a>

    \u00a7

    impl<'a> UnwindSafe for Utf8Chunk<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Lossy decoding would replace this sequence with U+FFFD REPLACEMENT CHARACTER.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for Utf8Chunk<'a>

    source\u00a7

    fn clone(&self) -> Utf8Chunk<'a>

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<'a> Debug for Utf8Chunk<'a>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> PartialEq for Utf8Chunk<'a>

    source\u00a7

    fn eq(&self, other: &Utf8Chunk<'a>) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    1.0.0 \u00b7 source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a> Eq for Utf8Chunk<'a>

    source\u00a7

    impl<'a> StructuralPartialEq for Utf8Chunk<'a>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for Utf8Chunk<'a>

    \u00a7

    impl<'a> RefUnwindSafe for Utf8Chunk<'a>

    \u00a7

    impl<'a> Send for Utf8Chunk<'a>

    \u00a7

    impl<'a> Sync for Utf8Chunk<'a>

    \u00a7

    impl<'a> Unpin for Utf8Chunk<'a>

    \u00a7

    impl<'a> UnwindSafe for Utf8Chunk<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.Utf8Chunks.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.Utf8Chunks.html", "unified_diff": "@@ -1,10 +1,10 @@\n Utf8Chunks in alloc::str - Rust
    \n-

    Struct alloc::str::Utf8Chunks

    source \u00b7
    pub struct Utf8Chunks<'a> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (utf8_chunks #99543)
    Expand description

    An iterator used to decode a slice of mostly UTF-8 bytes to string slices\n-(&str) and byte slices (&[u8]).

    \n+

    Struct alloc::str::Utf8Chunks

    source \u00b7
    pub struct Utf8Chunks<'a> { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (utf8_chunks #99543)
    Expand description

    An iterator used to decode a slice of mostly UTF-8 bytes to string slices\n+(&str) and byte slices (&[u8]).

    \n

    If you want a simple conversion from UTF-8 byte slices to string slices,\n from_utf8 is easier to use.

    \n

    \u00a7Examples

    \n

    This can be used to create functionality similar to\n String::from_utf8_lossy without allocating heap memory:

    \n \n
    #![feature(utf8_chunks)]\n@@ -16,199 +16,199 @@\n         push(chunk.valid());\n \n         if !chunk.invalid().is_empty() {\n             push(\"\\u{FFFD}\");\n         }\n     }\n }
    Run
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a> Utf8Chunks<'a>

    source

    pub fn new(bytes: &'a [u8]) -> Utf8Chunks<'a> \u24d8

    \ud83d\udd2cThis is a nightly-only experimental API. (utf8_chunks #99543)

    Creates a new iterator to decode the bytes.

    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for Utf8Chunks<'a>

    source\u00a7

    fn clone(&self) -> Utf8Chunks<'a> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for Utf8Chunks<'_>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> Iterator for Utf8Chunks<'a>

    \u00a7

    type Item = Utf8Chunk<'a>

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<Utf8Chunk<'a>>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Implementations\u00a7

    source\u00a7

    impl<'a> Utf8Chunks<'a>

    source

    pub fn new(bytes: &'a [u8]) -> Utf8Chunks<'a> \u24d8

    \ud83d\udd2cThis is a nightly-only experimental API. (utf8_chunks #99543)

    Creates a new iterator to decode the bytes.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a> Clone for Utf8Chunks<'a>

    source\u00a7

    fn clone(&self) -> Utf8Chunks<'a> \u24d8

    Returns a copy of the value. Read more
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for Utf8Chunks<'_>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<'a> Iterator for Utf8Chunks<'a>

    \u00a7

    type Item = Utf8Chunk<'a>

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<Utf8Chunk<'a>>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n- Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cycle(self) -> Cycle<Self>
    where\n+ Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    source\u00a7

    impl FusedIterator for Utf8Chunks<'_>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for Utf8Chunks<'a>

    \u00a7

    impl<'a> RefUnwindSafe for Utf8Chunks<'a>

    \u00a7

    impl<'a> Send for Utf8Chunks<'a>

    \u00a7

    impl<'a> Sync for Utf8Chunks<'a>

    \u00a7

    impl<'a> Unpin for Utf8Chunks<'a>

    \u00a7

    impl<'a> UnwindSafe for Utf8Chunks<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    source\u00a7

    impl FusedIterator for Utf8Chunks<'_>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for Utf8Chunks<'a>

    \u00a7

    impl<'a> RefUnwindSafe for Utf8Chunks<'a>

    \u00a7

    impl<'a> Send for Utf8Chunks<'a>

    \u00a7

    impl<'a> Sync for Utf8Chunks<'a>

    \u00a7

    impl<'a> Unpin for Utf8Chunks<'a>

    \u00a7

    impl<'a> UnwindSafe for Utf8Chunks<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.Utf8Error.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/struct.Utf8Error.html", "unified_diff": "@@ -1,9 +1,9 @@\n Utf8Error in alloc::str - Rust
    \n-

    Struct alloc::str::Utf8Error

    1.0.0 \u00b7 source \u00b7
    pub struct Utf8Error { /* private fields */ }
    Expand description

    Errors which can occur when attempting to interpret a sequence of u8\n+

    Struct alloc::str::Utf8Error

    1.0.0 \u00b7 source \u00b7
    pub struct Utf8Error { /* private fields */ }
    Expand description

    Errors which can occur when attempting to interpret a sequence of u8\n as a string.

    \n

    As such, the from_utf8 family of functions and methods for both Strings\n and &strs make use of this error, for example.

    \n

    \u00a7Examples

    \n

    This error type\u2019s methods can be used to create functionality\n similar to String::from_utf8_lossy without allocating heap memory:

    \n \n@@ -26,15 +26,15 @@\n } else {\n break\n }\n }\n }\n }\n }Run
    \n-

    Implementations\u00a7

    source\u00a7

    impl Utf8Error

    1.5.0 (const: 1.63.0) \u00b7 source

    pub const fn valid_up_to(&self) -> usize

    Returns the index in the given string up to which valid UTF-8 was\n+

    Implementations\u00a7

    source\u00a7

    impl Utf8Error

    1.5.0 (const: 1.63.0) \u00b7 source

    pub const fn valid_up_to(&self) -> usize

    Returns the index in the given string up to which valid UTF-8 was\n verified.

    \n

    It is the maximum index such that from_utf8(&input[..index])\n would return Ok(_).

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    use std::str;\n@@ -43,15 +43,15 @@\n let sparkle_heart = vec![0, 159, 146, 150];\n \n // std::str::from_utf8 returns a Utf8Error\n let error = str::from_utf8(&sparkle_heart).unwrap_err();\n \n // the second byte is invalid here\n assert_eq!(1, error.valid_up_to());
    Run
    \n-
    1.20.0 (const: 1.63.0) \u00b7 source

    pub const fn error_len(&self) -> Option<usize>

    Provides more information about the failure:

    \n+
    1.20.0 (const: 1.63.0) \u00b7 source

    pub const fn error_len(&self) -> Option<usize>

    Provides more information about the failure:

    \n
      \n
    • \n

      None: the end of the input was reached unexpectedly.\n self.valid_up_to() is 1 to 3 bytes from the end of the input.\n If a byte stream (such as a file or a network socket) is being decoded incrementally,\n this could be a valid char whose UTF-8 byte sequence is spanning multiple chunks.

      \n
    • \n@@ -60,22 +60,22 @@\n The length provided is that of the invalid byte sequence\n that starts at the index given by valid_up_to().\n Decoding should resume after that sequence\n (after inserting a U+FFFD REPLACEMENT CHARACTER) in case of\n lossy decoding.

      \n \n
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl Clone for Utf8Error

    source\u00a7

    fn clone(&self) -> Utf8Error

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for Utf8Error

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Display for Utf8Error

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Error for Utf8Error

    source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    1.30.0 \u00b7 source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more
    source\u00a7

    impl PartialEq for Utf8Error

    source\u00a7

    fn eq(&self, other: &Utf8Error) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl Copy for Utf8Error

    source\u00a7

    impl Eq for Utf8Error

    source\u00a7

    impl StructuralPartialEq for Utf8Error

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl Clone for Utf8Error

    source\u00a7

    fn clone(&self) -> Utf8Error

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for Utf8Error

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Display for Utf8Error

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Error for Utf8Error

    source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    1.30.0 \u00b7 source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more
    source\u00a7

    impl PartialEq for Utf8Error

    source\u00a7

    fn eq(&self, other: &Utf8Error) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl Copy for Utf8Error

    source\u00a7

    impl Eq for Utf8Error

    source\u00a7

    impl StructuralPartialEq for Utf8Error

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n- T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n+ T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/str/trait.FromStr.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/str/trait.FromStr.html", "unified_diff": "@@ -1,16 +1,16 @@\n FromStr in alloc::str - Rust
    \n-

    Trait alloc::str::FromStr

    1.0.0 \u00b7 source \u00b7
    pub trait FromStr: Sized {\n+    

    Trait alloc::str::FromStr

    1.0.0 \u00b7 source \u00b7
    pub trait FromStr: Sized {\n     type Err;\n \n     // Required method\n-    fn from_str(s: &str) -> Result<Self, Self::Err>;\n+    fn from_str(s: &str) -> Result<Self, Self::Err>;\n }
    Expand description

    Parse a value from a string

    \n

    FromStr\u2019s from_str method is often used implicitly, through\n-str\u2019s parse method. See parse\u2019s documentation for examples.

    \n+str\u2019s parse method. See parse\u2019s documentation for examples.

    \n

    FromStr does not have a lifetime parameter, and so you can only parse types\n that do not contain a lifetime parameter themselves. In other words, you can\n parse an i32 with FromStr, but not a &i32. You can parse a struct that\n contains an i32, but not one that contains an &i32.

    \n

    \u00a7Examples

    \n

    Basic implementation of FromStr on an example Point type:

    \n \n@@ -46,22 +46,22 @@\n // Explicit call\n assert_eq!(Point::from_str(\"(1,2)\"), expected);\n // Implicit calls, through parse\n assert_eq!(\"(1,2)\".parse(), expected);\n assert_eq!(\"(1,2)\".parse::<Point>(), expected);\n // Invalid input string\n assert!(Point::from_str(\"(1 2)\").is_err());
    Run
    \n-

    Required Associated Types\u00a7

    source

    type Err

    The associated error which can be returned from parsing.

    \n-

    Required Methods\u00a7

    source

    fn from_str(s: &str) -> Result<Self, Self::Err>

    Parses a string s to return a value of this type.

    \n-

    If parsing succeeds, return the value inside Ok, otherwise\n+

    Required Associated Types\u00a7

    source

    type Err

    The associated error which can be returned from parsing.

    \n+

    Required Methods\u00a7

    source

    fn from_str(s: &str) -> Result<Self, Self::Err>

    Parses a string s to return a value of this type.

    \n+

    If parsing succeeds, return the value inside Ok, otherwise\n when the string is ill-formatted return an error specific to the\n-inside Err. The error type is specific to the implementation of the trait.

    \n+inside Err. The error type is specific to the implementation of the trait.

    \n
    \u00a7Examples
    \n-

    Basic usage with i32, a type that implements FromStr:

    \n+

    Basic usage with i32, a type that implements FromStr:

    \n \n
    use std::str::FromStr;\n \n let s = \"5\";\n let x = i32::from_str(s).unwrap();\n \n assert_eq!(5, x);
    Run
    \n-

    Object Safety\u00a7

    This trait is not object safe.

    Implementors\u00a7

    1.7.0 \u00b7 source\u00a7

    impl FromStr for IpAddr

    source\u00a7

    impl FromStr for SocketAddr

    source\u00a7

    impl FromStr for bool

    1.20.0 \u00b7 source\u00a7

    impl FromStr for char

    source\u00a7

    impl FromStr for f32

    source\u00a7

    impl FromStr for f64

    source\u00a7

    impl FromStr for i8

    source\u00a7

    impl FromStr for i16

    source\u00a7

    impl FromStr for i32

    source\u00a7

    impl FromStr for i64

    source\u00a7

    impl FromStr for i128

    source\u00a7

    impl FromStr for isize

    source\u00a7

    impl FromStr for u8

    source\u00a7

    impl FromStr for u16

    source\u00a7

    impl FromStr for u32

    source\u00a7

    impl FromStr for u64

    source\u00a7

    impl FromStr for u128

    source\u00a7

    impl FromStr for usize

    source\u00a7

    impl FromStr for Ipv4Addr

    source\u00a7

    impl FromStr for Ipv6Addr

    1.5.0 \u00b7 source\u00a7

    impl FromStr for SocketAddrV4

    1.5.0 \u00b7 source\u00a7

    impl FromStr for SocketAddrV6

    1.35.0 \u00b7 source\u00a7

    impl FromStr for NonZero<i8>

    1.35.0 \u00b7 source\u00a7

    impl FromStr for NonZero<i16>

    1.35.0 \u00b7 source\u00a7

    impl FromStr for NonZero<i32>

    1.35.0 \u00b7 source\u00a7

    impl FromStr for NonZero<i64>

    1.35.0 \u00b7 source\u00a7

    impl FromStr for NonZero<i128>

    1.35.0 \u00b7 source\u00a7

    impl FromStr for NonZero<isize>

    1.35.0 \u00b7 source\u00a7

    impl FromStr for NonZero<u8>

    1.35.0 \u00b7 source\u00a7

    impl FromStr for NonZero<u16>

    1.35.0 \u00b7 source\u00a7

    impl FromStr for NonZero<u32>

    1.35.0 \u00b7 source\u00a7

    impl FromStr for NonZero<u64>

    1.35.0 \u00b7 source\u00a7

    impl FromStr for NonZero<u128>

    1.35.0 \u00b7 source\u00a7

    impl FromStr for NonZero<usize>

    source\u00a7

    impl FromStr for String

    \n+

    Object Safety\u00a7

    This trait is not object safe.

    Implementors\u00a7

    1.7.0 \u00b7 source\u00a7

    impl FromStr for IpAddr

    source\u00a7

    impl FromStr for SocketAddr

    source\u00a7

    impl FromStr for bool

    1.20.0 \u00b7 source\u00a7

    impl FromStr for char

    source\u00a7

    impl FromStr for f32

    source\u00a7

    impl FromStr for f64

    source\u00a7

    impl FromStr for i8

    source\u00a7

    impl FromStr for i16

    source\u00a7

    impl FromStr for i32

    source\u00a7

    impl FromStr for i64

    source\u00a7

    impl FromStr for i128

    source\u00a7

    impl FromStr for isize

    source\u00a7

    impl FromStr for u8

    source\u00a7

    impl FromStr for u16

    source\u00a7

    impl FromStr for u32

    source\u00a7

    impl FromStr for u64

    source\u00a7

    impl FromStr for u128

    source\u00a7

    impl FromStr for usize

    source\u00a7

    impl FromStr for String

    source\u00a7

    impl FromStr for Ipv4Addr

    source\u00a7

    impl FromStr for Ipv6Addr

    1.5.0 \u00b7 source\u00a7

    impl FromStr for SocketAddrV4

    1.5.0 \u00b7 source\u00a7

    impl FromStr for SocketAddrV6

    1.35.0 \u00b7 source\u00a7

    impl FromStr for NonZero<i8>

    1.35.0 \u00b7 source\u00a7

    impl FromStr for NonZero<i16>

    1.35.0 \u00b7 source\u00a7

    impl FromStr for NonZero<i32>

    1.35.0 \u00b7 source\u00a7

    impl FromStr for NonZero<i64>

    1.35.0 \u00b7 source\u00a7

    impl FromStr for NonZero<i128>

    1.35.0 \u00b7 source\u00a7

    impl FromStr for NonZero<isize>

    1.35.0 \u00b7 source\u00a7

    impl FromStr for NonZero<u8>

    1.35.0 \u00b7 source\u00a7

    impl FromStr for NonZero<u16>

    1.35.0 \u00b7 source\u00a7

    impl FromStr for NonZero<u32>

    1.35.0 \u00b7 source\u00a7

    impl FromStr for NonZero<u64>

    1.35.0 \u00b7 source\u00a7

    impl FromStr for NonZero<u128>

    1.35.0 \u00b7 source\u00a7

    impl FromStr for NonZero<usize>

    \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -158,14 +158,18 @@\n \u00c2\u00a7\n *** type Err = ParseIntError ***\n source\u00c2\u00a7\n **** impl FromStr for usize ****\n \u00c2\u00a7\n *** type Err = ParseIntError ***\n source\u00c2\u00a7\n+**** impl FromStr for String ****\n+\u00c2\u00a7\n+*** type Err = Infallible ***\n+source\u00c2\u00a7\n **** impl FromStr for Ipv4Addr ****\n \u00c2\u00a7\n *** type Err = AddrParseError ***\n source\u00c2\u00a7\n **** impl FromStr for Ipv6Addr ****\n \u00c2\u00a7\n *** type Err = AddrParseError ***\n@@ -221,11 +225,7 @@\n **** impl FromStr for NonZero ****\n \u00c2\u00a7\n *** type Err = ParseIntError ***\n 1.35.0 \u00c2\u00b7 source\u00c2\u00a7\n **** impl FromStr for NonZero ****\n \u00c2\u00a7\n *** type Err = ParseIntError ***\n-source\u00c2\u00a7\n-**** impl FromStr for String ****\n-\u00c2\u00a7\n-*** type Err = Infallible ***\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/string/index.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/string/index.html", "unified_diff": "@@ -25,8 +25,8 @@\n let sparkle_heart = String::from_utf8(sparkle_heart).unwrap();\n \n assert_eq!(\"\ud83d\udc96\", sparkle_heart);\n \n let bytes = sparkle_heart.into_bytes();\n \n assert_eq!(bytes, [240, 159, 146, 150]);
    Run\n-

    Structs\u00a7

    • A draining iterator for String.
    • A possible error value when converting a String from a UTF-8 byte vector.
    • A possible error value when converting a String from a UTF-16 byte slice.
    • A UTF-8\u2013encoded, growable string.

    Traits\u00a7

    • A trait for converting a value to a String.

    Type Aliases\u00a7

    \n+

    Structs\u00a7

    • A draining iterator for String.
    • A possible error value when converting a String from a UTF-8 byte vector.
    • A possible error value when converting a String from a UTF-16 byte slice.
    • A UTF-8\u2013encoded, growable string.

    Traits\u00a7

    • A trait for converting a value to a String.

    Type Aliases\u00a7

    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/string/struct.Drain.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/string/struct.Drain.html", "unified_diff": "@@ -1,214 +1,214 @@\n Drain in alloc::string - Rust
    \n

    Struct alloc::string::Drain

    1.6.0 \u00b7 source \u00b7
    pub struct Drain<'a> { /* private fields */ }
    Expand description

    A draining iterator for String.

    \n

    This struct is created by the drain method on String. See its\n documentation for more.

    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a> Drain<'a>

    1.55.0 \u00b7 source

    pub fn as_str(&self) -> &str

    Returns the remaining (sub)string of this iterator as a slice.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a> Drain<'a>

    1.55.0 \u00b7 source

    pub fn as_str(&self) -> &str

    Returns the remaining (sub)string of this iterator as a slice.

    \n
    \u00a7Examples
    \n
    let mut s = String::from(\"abc\");\n let mut drain = s.drain(..);\n assert_eq!(drain.as_str(), \"abc\");\n let _ = drain.next().unwrap();\n assert_eq!(drain.as_str(), \"bc\");
    Run
    \n-

    Trait Implementations\u00a7

    1.55.0 \u00b7 source\u00a7

    impl<'a> AsRef<[u8]> for Drain<'a>

    source\u00a7

    fn as_ref(&self) -> &[u8]

    Converts this type into a shared reference of the (usually inferred) input type.
    1.55.0 \u00b7 source\u00a7

    impl<'a> AsRef<str> for Drain<'a>

    source\u00a7

    fn as_ref(&self) -> &str

    Converts this type into a shared reference of the (usually inferred) input type.
    1.17.0 \u00b7 source\u00a7

    impl Debug for Drain<'_>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl DoubleEndedIterator for Drain<'_>

    source\u00a7

    fn next_back(&mut self) -> Option<char>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl Drop for Drain<'_>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source\u00a7

    impl Iterator for Drain<'_>

    \u00a7

    type Item = char

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<char>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<char>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    1.55.0 \u00b7 source\u00a7

    impl<'a> AsRef<[u8]> for Drain<'a>

    source\u00a7

    fn as_ref(&self) -> &[u8]

    Converts this type into a shared reference of the (usually inferred) input type.
    1.55.0 \u00b7 source\u00a7

    impl<'a> AsRef<str> for Drain<'a>

    source\u00a7

    fn as_ref(&self) -> &str

    Converts this type into a shared reference of the (usually inferred) input type.
    1.17.0 \u00b7 source\u00a7

    impl Debug for Drain<'_>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl DoubleEndedIterator for Drain<'_>

    source\u00a7

    fn next_back(&mut self) -> Option<char>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl Drop for Drain<'_>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source\u00a7

    impl Iterator for Drain<'_>

    \u00a7

    type Item = char

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<char>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn last(self) -> Option<char>

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl FusedIterator for Drain<'_>

    source\u00a7

    impl Send for Drain<'_>

    source\u00a7

    impl Sync for Drain<'_>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for Drain<'a>

    \u00a7

    impl<'a> RefUnwindSafe for Drain<'a>

    \u00a7

    impl<'a> Unpin for Drain<'a>

    \u00a7

    impl<'a> UnwindSafe for Drain<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl FusedIterator for Drain<'_>

    source\u00a7

    impl Send for Drain<'_>

    source\u00a7

    impl Sync for Drain<'_>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a> Freeze for Drain<'a>

    \u00a7

    impl<'a> RefUnwindSafe for Drain<'a>

    \u00a7

    impl<'a> Unpin for Drain<'a>

    \u00a7

    impl<'a> UnwindSafe for Drain<'a>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/string/struct.FromUtf16Error.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/string/struct.FromUtf16Error.html", "unified_diff": "@@ -3,19 +3,19 @@\n

    This type is the error type for the from_utf16 method on String.

    \n

    \u00a7Examples

    \n
    // \ud834\udd1emu<invalid>ic\n let v = &[0xD834, 0xDD1E, 0x006d, 0x0075,\n           0xD800, 0x0069, 0x0063];\n \n assert!(String::from_utf16(v).is_err());
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl Debug for FromUtf16Error

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Display for FromUtf16Error

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Error for FromUtf16Error

    source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    1.30.0 \u00b7 source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl Debug for FromUtf16Error

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Display for FromUtf16Error

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Error for FromUtf16Error

    source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    1.30.0 \u00b7 source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToString for T
    where\n- T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Display + ?Sized,
    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/string/struct.FromUtf8Error.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/string/struct.FromUtf8Error.html", "unified_diff": "@@ -1,65 +1,65 @@\n FromUtf8Error in alloc::string - Rust
    \n

    Struct alloc::string::FromUtf8Error

    1.0.0 \u00b7 source \u00b7
    pub struct FromUtf8Error { /* private fields */ }
    Expand description

    A possible error value when converting a String from a UTF-8 byte vector.

    \n

    This type is the error type for the from_utf8 method on String. It\n is designed in such a way to carefully avoid reallocations: the\n into_bytes method will give back the byte vector that was used in the\n conversion attempt.

    \n-

    The Utf8Error type provided by std::str represents an error that may\n-occur when converting a slice of u8s to a &str. In this sense, it\u2019s\n+

    The Utf8Error type provided by std::str represents an error that may\n+occur when converting a slice of u8s to a &str. In this sense, it\u2019s\n an analogue to FromUtf8Error, and you can get one from a FromUtf8Error\n through the utf8_error method.

    \n

    \u00a7Examples

    \n
    // some invalid bytes, in a vector\n let bytes = vec![0, 159];\n \n let value = String::from_utf8(bytes);\n \n assert!(value.is_err());\n assert_eq!(vec![0, 159], value.unwrap_err().into_bytes());
    Run
    \n-

    Implementations\u00a7

    source\u00a7

    impl FromUtf8Error

    1.26.0 \u00b7 source

    pub fn as_bytes(&self) -> &[u8]

    Returns a slice of u8s bytes that were attempted to convert to a String.

    \n+

    Implementations\u00a7

    source\u00a7

    impl FromUtf8Error

    1.26.0 \u00b7 source

    pub fn as_bytes(&self) -> &[u8]

    Returns a slice of u8s bytes that were attempted to convert to a String.

    \n
    \u00a7Examples
    \n
    // some invalid bytes, in a vector\n let bytes = vec![0, 159];\n \n let value = String::from_utf8(bytes);\n \n assert_eq!(&[0, 159], value.unwrap_err().as_bytes());
    Run
    \n-
    source

    pub fn into_bytes(self) -> Vec<u8>

    Returns the bytes that were attempted to convert to a String.

    \n+
    source

    pub fn into_bytes(self) -> Vec<u8>

    Returns the bytes that were attempted to convert to a String.

    \n

    This method is carefully constructed to avoid allocation. It will\n consume the error, moving out the bytes, so that a copy of the bytes\n does not need to be made.

    \n
    \u00a7Examples
    \n
    // some invalid bytes, in a vector\n let bytes = vec![0, 159];\n \n let value = String::from_utf8(bytes);\n \n assert_eq!(vec![0, 159], value.unwrap_err().into_bytes());
    Run
    \n
    source

    pub fn utf8_error(&self) -> Utf8Error

    Fetch a Utf8Error to get more details about the conversion failure.

    \n-

    The Utf8Error type provided by std::str represents an error that may\n-occur when converting a slice of u8s to a &str. In this sense, it\u2019s\n+

    The Utf8Error type provided by std::str represents an error that may\n+occur when converting a slice of u8s to a &str. In this sense, it\u2019s\n an analogue to FromUtf8Error. See its documentation for more details\n on using it.

    \n
    \u00a7Examples
    \n
    // some invalid bytes, in a vector\n let bytes = vec![0, 159];\n \n let error = String::from_utf8(bytes).unwrap_err().utf8_error();\n \n // the first byte is invalid here\n assert_eq!(1, error.valid_up_to());
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl Clone for FromUtf8Error

    source\u00a7

    fn clone(&self) -> FromUtf8Error

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for FromUtf8Error

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Display for FromUtf8Error

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Error for FromUtf8Error

    source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    1.30.0 \u00b7 source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more
    source\u00a7

    impl PartialEq for FromUtf8Error

    source\u00a7

    fn eq(&self, other: &FromUtf8Error) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl Eq for FromUtf8Error

    source\u00a7

    impl StructuralPartialEq for FromUtf8Error

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl Clone for FromUtf8Error

    source\u00a7

    fn clone(&self) -> FromUtf8Error

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for FromUtf8Error

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Display for FromUtf8Error

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Error for FromUtf8Error

    source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    1.30.0 \u00b7 source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more
    source\u00a7

    impl PartialEq for FromUtf8Error

    source\u00a7

    fn eq(&self, other: &FromUtf8Error) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl Eq for FromUtf8Error

    source\u00a7

    impl StructuralPartialEq for FromUtf8Error

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n- T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n+ T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/string/struct.String.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/string/struct.String.html", "unified_diff": "@@ -1,18 +1,18 @@\n String in alloc::string - Rust
    \n

    Struct alloc::string::String

    1.0.0 \u00b7 source \u00b7
    pub struct String { /* private fields */ }
    Expand description

    A UTF-8\u2013encoded, growable string.

    \n

    The String type is the most common string type that has ownership over the\n contents of the string. It has a close relationship with its borrowed\n-counterpart, the primitive str.

    \n+counterpart, the primitive str.

    \n

    \u00a7Examples

    \n-

    You can create a String from a literal string with String::from:

    \n+

    You can create a String from a literal string with String::from:

    \n \n
    let hello = String::from(\"Hello, world!\");
    Run
    \n-

    You can append a char to a String with the push method, and\n-append a &str with the push_str method:

    \n+

    You can append a char to a String with the push method, and\n+append a &str with the push_str method:

    \n \n
    let mut hello = String::from(\"Hello, \");\n \n hello.push('w');\n hello.push_str(\"orld!\");
    Run
    \n

    If you have a vector of UTF-8 bytes, you can create a String from it with\n the from_utf8 method:

    \n@@ -50,28 +50,28 @@\n let s = ['\ud83d\udc96', '\ud83d\udc96', '\ud83d\udc96', '\ud83d\udc96', '\ud83d\udc96'];\n let size: usize = s.into_iter().map(|c| mem::size_of_val(&c)).sum();\n assert_eq!(size, 20);Run
    \n

    This raises interesting questions as to how s[i] should work.\n What should i be here? Several options include byte indices and\n char indices but, because of UTF-8 encoding, only byte indices\n would provide constant time indexing. Getting the ith char, for\n-example, is available using chars:

    \n+example, is available using chars:

    \n \n
    let s = \"hello\";\n let third_character = s.chars().nth(2);\n assert_eq!(third_character, Some('l'));\n \n let s = \"\ud83d\udc96\ud83d\udc96\ud83d\udc96\ud83d\udc96\ud83d\udc96\";\n let third_character = s.chars().nth(2);\n assert_eq!(third_character, Some('\ud83d\udc96'));
    Run
    \n

    Next, what should s[i] return? Because indexing returns a reference\n to underlying data it could be &u8, &[u8], or something else similar.\n Since we\u2019re only providing one index, &u8 makes the most sense but that\n might not be what the user expects and can be explicitly achieved with\n-as_bytes():

    \n+as_bytes():

    \n \n
    // The first byte is 104 - the byte value of `'h'`\n let s = \"hello\";\n assert_eq!(s.as_bytes()[0], 104);\n // or\n assert_eq!(s.as_bytes()[0], b'h');\n \n@@ -85,37 +85,37 @@\n \n // The following will not compile!\n println!(\"The first letter of s is {}\", s[0]);
    Run
    \n

    It is more clear, however, how &s[i..j] should work (that is,\n indexing with a range). It should accept byte indices (to be constant-time)\n and return a &str which is UTF-8 encoded. This is also called \u201cstring slicing\u201d.\n Note this will panic if the byte indices provided are not character\n-boundaries - see is_char_boundary for more details. See the implementations\n+boundaries - see is_char_boundary for more details. See the implementations\n for SliceIndex<str> for more details on string slicing. For a non-panicking\n-version of string slicing, see get.

    \n-

    The bytes and chars methods return iterators over the bytes and\n+version of string slicing, see get.

    \n+

    The bytes and chars methods return iterators over the bytes and\n codepoints of the string, respectively. To iterate over codepoints along\n-with byte indices, use char_indices.

    \n+with byte indices, use char_indices.

    \n

    \u00a7Deref

    \n-

    String implements Deref<Target = str>, and so inherits all of str\u2019s\n+

    String implements Deref<Target = str>, and so inherits all of str\u2019s\n methods. In addition, this means that you can pass a String to a\n-function which takes a &str by using an ampersand (&):

    \n+function which takes a &str by using an ampersand (&):

    \n \n
    fn takes_str(s: &str) { }\n \n let s = String::from(\"Hello\");\n \n takes_str(&s);
    Run
    \n-

    This will create a &str from the String and pass it in. This\n+

    This will create a &str from the String and pass it in. This\n conversion is very inexpensive, and so generally, functions will accept\n-&strs as arguments unless they need a String for some specific\n+&strs as arguments unless they need a String for some specific\n reason.

    \n

    In certain cases Rust doesn\u2019t have enough information to make this\n-conversion, known as Deref coercion. In the following example a string\n-slice &'a str implements the trait TraitExample, and the function\n+conversion, known as Deref coercion. In the following example a string\n+slice &'a str implements the trait TraitExample, and the function\n example_func takes anything that implements the trait. In this case Rust\n would need to make two implicit conversions, which Rust doesn\u2019t have the\n means to do. For that reason, the following example will not compile.

    \n \n
    \u24d8
    trait TraitExample {}\n \n impl<'a> TraitExample for &'a str {}\n@@ -126,25 +126,25 @@\n example_func(&example_string);
    Run
    \n

    There are two options that would work instead. The first would be to\n change the line example_func(&example_string); to\n example_func(example_string.as_str());, using the method as_str()\n to explicitly extract the string slice containing the string. The second\n way changes example_func(&example_string); to\n example_func(&*example_string);. In this case we are dereferencing a\n-String to a str, then referencing the str back to\n-&str. The second way is more idiomatic, however both work to do the\n+String to a str, then referencing the str back to\n+&str. The second way is more idiomatic, however both work to do the\n conversion explicitly rather than relying on the implicit conversion.

    \n

    \u00a7Representation

    \n

    A String is made up of three components: a pointer to some bytes, a\n length, and a capacity. The pointer points to an internal buffer String\n uses to store its data. The length is the number of bytes currently stored\n in the buffer, and the capacity is the size of the buffer in bytes. As such,\n the length will always be less than or equal to the capacity.

    \n

    This buffer is always stored on the heap.

    \n-

    You can look at these with the as_ptr, len, and capacity\n+

    You can look at these with the as_ptr, len, and capacity\n methods:

    \n \n
    use std::mem;\n \n let story = String::from(\"Once upon a time...\");\n \n // Prevent automatically dropping the String's data\n@@ -208,15 +208,15 @@\n buffer. While that means that this initial operation is very\n inexpensive, it may cause excessive allocation later when you add\n data. If you have an idea of how much data the String will hold,\n consider the with_capacity method to prevent excessive\n re-allocation.

    \n
    \u00a7Examples
    \n
    let s = String::new();
    Run
    \n-
    source

    pub fn with_capacity(capacity: usize) -> String

    Creates a new empty String with at least the specified capacity.

    \n+
    source

    pub fn with_capacity(capacity: usize) -> String

    Creates a new empty String with at least the specified capacity.

    \n

    Strings have an internal buffer to hold their data. The capacity is\n the length of that buffer, and can be queried with the capacity\n method. This method creates an empty String, but one with an initial\n buffer that can hold at least capacity bytes. This is useful when you\n may be appending a bunch of data to the String, reducing the number of\n reallocations it needs to do.

    \n

    If the given capacity is 0, no allocation will occur, and this method\n@@ -233,35 +233,35 @@\n s.push('a');\n }\n \n assert_eq!(s.capacity(), cap);\n \n // ...but this may make the string reallocate\n s.push('a');Run

    \n-
    source

    pub fn try_with_capacity(capacity: usize) -> Result<String, TryReserveError>

    \ud83d\udd2cThis is a nightly-only experimental API. (try_with_capacity #91913)

    Creates a new empty String with at least the specified capacity.

    \n+
    source

    pub fn try_with_capacity(capacity: usize) -> Result<String, TryReserveError>

    \ud83d\udd2cThis is a nightly-only experimental API. (try_with_capacity #91913)

    Creates a new empty String with at least the specified capacity.

    \n
    \u00a7Errors
    \n-

    Returns Err if the capacity exceeds isize::MAX bytes,\n+

    Returns Err if the capacity exceeds isize::MAX bytes,\n or if the memory allocator reports failure.

    \n-
    source

    pub fn from_utf8(vec: Vec<u8>) -> Result<String, FromUtf8Error>

    Converts a vector of bytes to a String.

    \n-

    A string (String) is made of bytes (u8), and a vector of bytes\n+

    source

    pub fn from_utf8(vec: Vec<u8>) -> Result<String, FromUtf8Error>

    Converts a vector of bytes to a String.

    \n+

    A string (String) is made of bytes (u8), and a vector of bytes\n (Vec<u8>) is made of bytes, so this function converts between the\n two. Not all byte slices are valid Strings, however: String\n requires that it is valid UTF-8. from_utf8() checks to ensure that\n the bytes are valid UTF-8, and then does the conversion.

    \n

    If you are sure that the byte slice is valid UTF-8, and you don\u2019t want\n to incur the overhead of the validity check, there is an unsafe version\n of this function, from_utf8_unchecked, which has the same behavior\n but skips the check.

    \n

    This method will take care to not copy the vector, for efficiency\u2019s\n sake.

    \n-

    If you need a &str instead of a String, consider\n+

    If you need a &str instead of a String, consider\n str::from_utf8.

    \n

    The inverse of this method is into_bytes.

    \n
    \u00a7Errors
    \n-

    Returns Err if the slice is not UTF-8 with a description as to why the\n+

    Returns Err if the slice is not UTF-8 with a description as to why the\n provided bytes are not UTF-8. The vector you moved in is also included.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    // some bytes, in a vector\n let sparkle_heart = vec![240, 159, 146, 150];\n \n@@ -273,21 +273,21 @@\n \n 
    // some invalid bytes, in a vector\n let sparkle_heart = vec![0, 159, 146, 150];\n \n assert!(String::from_utf8(sparkle_heart).is_err());
    Run
    \n

    See the docs for FromUtf8Error for more details on what you can do\n with this error.

    \n-
    source

    pub fn from_utf8_lossy(v: &[u8]) -> Cow<'_, str>

    Converts a slice of bytes to a string, including invalid characters.

    \n-

    Strings are made of bytes (u8), and a slice of bytes\n-(&[u8]) is made of bytes, so this function converts\n+

    source

    pub fn from_utf8_lossy(v: &[u8]) -> Cow<'_, str>

    Converts a slice of bytes to a string, including invalid characters.

    \n+

    Strings are made of bytes (u8), and a slice of bytes\n+(&[u8]) is made of bytes, so this function converts\n between the two. Not all byte slices are valid strings, however: strings\n are required to be valid UTF-8. During this conversion,\n from_utf8_lossy() will replace any invalid UTF-8 sequences with\n-U+FFFD REPLACEMENT CHARACTER, which looks like this: \ufffd

    \n+U+FFFD REPLACEMENT CHARACTER, which looks like this: \ufffd

    \n

    If you are sure that the byte slice is valid UTF-8, and you don\u2019t want\n to incur the overhead of the conversion, there is an unsafe version\n of this function, from_utf8_unchecked, which has the same behavior\n but skips the checks.

    \n

    This function returns a Cow<'a, str>. If our byte slice is invalid\n UTF-8, then we need to insert the replacement characters, which will\n change the size of the string, and hence, require a String. But if\n@@ -305,41 +305,41 @@\n

    Incorrect bytes:

    \n \n
    // some invalid bytes\n let input = b\"Hello \\xF0\\x90\\x80World\";\n let output = String::from_utf8_lossy(input);\n \n assert_eq!(\"Hello \ufffdWorld\", output);
    Run
    \n-
    source

    pub fn from_utf16(v: &[u16]) -> Result<String, FromUtf16Error>

    Decode a UTF-16\u2013encoded vector v into a String, returning Err\n+

    source

    pub fn from_utf16(v: &[u16]) -> Result<String, FromUtf16Error>

    Decode a UTF-16\u2013encoded vector v into a String, returning Err\n if v contains any invalid data.

    \n
    \u00a7Examples
    \n
    // \ud834\udd1emusic\n let v = &[0xD834, 0xDD1E, 0x006d, 0x0075,\n           0x0073, 0x0069, 0x0063];\n assert_eq!(String::from(\"\ud834\udd1emusic\"),\n            String::from_utf16(v).unwrap());\n \n // \ud834\udd1emu<invalid>ic\n let v = &[0xD834, 0xDD1E, 0x006d, 0x0075,\n           0xD800, 0x0069, 0x0063];\n assert!(String::from_utf16(v).is_err());
    Run
    \n-
    source

    pub fn from_utf16_lossy(v: &[u16]) -> String

    Decode a UTF-16\u2013encoded slice v into a String, replacing\n-invalid data with the replacement character (U+FFFD).

    \n+
    source

    pub fn from_utf16_lossy(v: &[u16]) -> String

    Decode a UTF-16\u2013encoded slice v into a String, replacing\n+invalid data with the replacement character (U+FFFD).

    \n

    Unlike from_utf8_lossy which returns a Cow<'a, str>,\n from_utf16_lossy returns a String since the UTF-16 to UTF-8\n conversion requires a memory allocation.

    \n
    \u00a7Examples
    \n
    // \ud834\udd1emus<invalid>ic<invalid>\n let v = &[0xD834, 0xDD1E, 0x006d, 0x0075,\n           0x0073, 0xDD1E, 0x0069, 0x0063,\n           0xD834];\n \n assert_eq!(String::from(\"\ud834\udd1emus\\u{FFFD}ic\\u{FFFD}\"),\n            String::from_utf16_lossy(v));
    Run
    \n-
    source

    pub fn from_utf16le(v: &[u8]) -> Result<String, FromUtf16Error>

    \ud83d\udd2cThis is a nightly-only experimental API. (str_from_utf16_endian #116258)

    Decode a UTF-16LE\u2013encoded vector v into a String, returning Err\n+

    source

    pub fn from_utf16le(v: &[u8]) -> Result<String, FromUtf16Error>

    \ud83d\udd2cThis is a nightly-only experimental API. (str_from_utf16_endian #116258)

    Decode a UTF-16LE\u2013encoded vector v into a String, returning Err\n if v contains any invalid data.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    #![feature(str_from_utf16_endian)]\n // \ud834\udd1emusic\n let v = &[0x34, 0xD8, 0x1E, 0xDD, 0x6d, 0x00, 0x75, 0x00,\n@@ -347,31 +347,31 @@\n assert_eq!(String::from(\"\ud834\udd1emusic\"),\n            String::from_utf16le(v).unwrap());\n \n // \ud834\udd1emu<invalid>ic\n let v = &[0x34, 0xD8, 0x1E, 0xDD, 0x6d, 0x00, 0x75, 0x00,\n           0x00, 0xD8, 0x69, 0x00, 0x63, 0x00];\n assert!(String::from_utf16le(v).is_err());
    Run
    \n-
    source

    pub fn from_utf16le_lossy(v: &[u8]) -> String

    \ud83d\udd2cThis is a nightly-only experimental API. (str_from_utf16_endian #116258)

    Decode a UTF-16LE\u2013encoded slice v into a String, replacing\n-invalid data with the replacement character (U+FFFD).

    \n+
    source

    pub fn from_utf16le_lossy(v: &[u8]) -> String

    \ud83d\udd2cThis is a nightly-only experimental API. (str_from_utf16_endian #116258)

    Decode a UTF-16LE\u2013encoded slice v into a String, replacing\n+invalid data with the replacement character (U+FFFD).

    \n

    Unlike from_utf8_lossy which returns a Cow<'a, str>,\n from_utf16le_lossy returns a String since the UTF-16 to UTF-8\n conversion requires a memory allocation.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    #![feature(str_from_utf16_endian)]\n // \ud834\udd1emus<invalid>ic<invalid>\n let v = &[0x34, 0xD8, 0x1E, 0xDD, 0x6d, 0x00, 0x75, 0x00,\n           0x73, 0x00, 0x1E, 0xDD, 0x69, 0x00, 0x63, 0x00,\n           0x34, 0xD8];\n \n assert_eq!(String::from(\"\ud834\udd1emus\\u{FFFD}ic\\u{FFFD}\"),\n            String::from_utf16le_lossy(v));
    Run
    \n-
    source

    pub fn from_utf16be(v: &[u8]) -> Result<String, FromUtf16Error>

    \ud83d\udd2cThis is a nightly-only experimental API. (str_from_utf16_endian #116258)

    Decode a UTF-16BE\u2013encoded vector v into a String, returning Err\n+

    source

    pub fn from_utf16be(v: &[u8]) -> Result<String, FromUtf16Error>

    \ud83d\udd2cThis is a nightly-only experimental API. (str_from_utf16_endian #116258)

    Decode a UTF-16BE\u2013encoded vector v into a String, returning Err\n if v contains any invalid data.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    #![feature(str_from_utf16_endian)]\n // \ud834\udd1emusic\n let v = &[0xD8, 0x34, 0xDD, 0x1E, 0x00, 0x6d, 0x00, 0x75,\n@@ -379,31 +379,31 @@\n assert_eq!(String::from(\"\ud834\udd1emusic\"),\n            String::from_utf16be(v).unwrap());\n \n // \ud834\udd1emu<invalid>ic\n let v = &[0xD8, 0x34, 0xDD, 0x1E, 0x00, 0x6d, 0x00, 0x75,\n           0xD8, 0x00, 0x00, 0x69, 0x00, 0x63];\n assert!(String::from_utf16be(v).is_err());
    Run
    \n-
    source

    pub fn from_utf16be_lossy(v: &[u8]) -> String

    \ud83d\udd2cThis is a nightly-only experimental API. (str_from_utf16_endian #116258)

    Decode a UTF-16BE\u2013encoded slice v into a String, replacing\n-invalid data with the replacement character (U+FFFD).

    \n+
    source

    pub fn from_utf16be_lossy(v: &[u8]) -> String

    \ud83d\udd2cThis is a nightly-only experimental API. (str_from_utf16_endian #116258)

    Decode a UTF-16BE\u2013encoded slice v into a String, replacing\n+invalid data with the replacement character (U+FFFD).

    \n

    Unlike from_utf8_lossy which returns a Cow<'a, str>,\n from_utf16le_lossy returns a String since the UTF-16 to UTF-8\n conversion requires a memory allocation.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    #![feature(str_from_utf16_endian)]\n // \ud834\udd1emus<invalid>ic<invalid>\n let v = &[0xD8, 0x34, 0xDD, 0x1E, 0x00, 0x6d, 0x00, 0x75,\n           0x00, 0x73, 0xDD, 0x1E, 0x00, 0x69, 0x00, 0x63,\n           0xD8, 0x34];\n \n assert_eq!(String::from(\"\ud834\udd1emus\\u{FFFD}ic\\u{FFFD}\"),\n            String::from_utf16be_lossy(v));
    Run
    \n-
    source

    pub fn into_raw_parts(self) -> (*mut u8, usize, usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (vec_into_raw_parts #65816)

    Decomposes a String into its raw components: (pointer, length, capacity).

    \n+
    source

    pub fn into_raw_parts(self) -> (*mut u8, usize, usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (vec_into_raw_parts #65816)

    Decomposes a String into its raw components: (pointer, length, capacity).

    \n

    Returns the raw pointer to the underlying data, the length of\n the string (in bytes), and the allocated capacity of the data\n (in bytes). These are the same arguments in the same order as\n the arguments to from_raw_parts.

    \n

    After calling this function, the caller is responsible for the\n memory previously managed by the String. The only way to do\n this is to convert the raw pointer, length, and capacity back\n@@ -414,17 +414,17 @@\n let s = String::from(\"hello\");\n \n let (ptr, len, cap) = s.into_raw_parts();\n \n let rebuilt = unsafe { String::from_raw_parts(ptr, len, cap) };\n assert_eq!(rebuilt, \"hello\");Run

    \n
    source

    pub unsafe fn from_raw_parts(\n- buf: *mut u8,\n- length: usize,\n- capacity: usize\n+ buf: *mut u8,\n+ length: usize,\n+ capacity: usize\n ) -> String

    Creates a new String from a pointer, a length and a capacity.

    \n
    \u00a7Safety
    \n

    This is highly unsafe, due to the number of invariants that aren\u2019t\n checked:

    \n
      \n
    • The memory at buf needs to have been previously allocated by the\n same allocator the standard library uses, with a required alignment of exactly 1.
    • \n@@ -455,15 +455,15 @@\n let len = s.len();\n let capacity = s.capacity();\n \n let s = String::from_raw_parts(ptr, len, capacity);\n \n assert_eq!(String::from(\"hello\"), s);\n }Run
    \n-
    source

    pub unsafe fn from_utf8_unchecked(bytes: Vec<u8>) -> String

    Converts a vector of bytes to a String without checking that the\n+

    source

    pub unsafe fn from_utf8_unchecked(bytes: Vec<u8>) -> String

    Converts a vector of bytes to a String without checking that the\n string contains valid UTF-8.

    \n

    See the safe version, from_utf8, for more details.

    \n
    \u00a7Safety
    \n

    This function is unsafe because it does not check that the bytes passed\n to it are valid UTF-8. If this constraint is violated, it may cause\n memory unsafety issues with future users of the String, as the rest of\n the standard library assumes that Strings are valid UTF-8.

    \n@@ -472,70 +472,70 @@\n let sparkle_heart = vec![240, 159, 146, 150];\n \n let sparkle_heart = unsafe {\n String::from_utf8_unchecked(sparkle_heart)\n };\n \n assert_eq!(\"\ud83d\udc96\", sparkle_heart);Run
    \n-
    source

    pub fn into_bytes(self) -> Vec<u8>

    Converts a String into a byte vector.

    \n+
    source

    pub fn into_bytes(self) -> Vec<u8>

    Converts a String into a byte vector.

    \n

    This consumes the String, so we do not need to copy its contents.

    \n
    \u00a7Examples
    \n
    let s = String::from(\"hello\");\n let bytes = s.into_bytes();\n \n assert_eq!(&[104, 101, 108, 108, 111][..], &bytes[..]);
    Run
    \n-
    1.7.0 \u00b7 source

    pub fn as_str(&self) -> &str

    Extracts a string slice containing the entire String.

    \n+
    1.7.0 \u00b7 source

    pub fn as_str(&self) -> &str

    Extracts a string slice containing the entire String.

    \n
    \u00a7Examples
    \n
    let s = String::from(\"foo\");\n \n assert_eq!(\"foo\", s.as_str());
    Run
    \n-
    1.7.0 \u00b7 source

    pub fn as_mut_str(&mut self) -> &mut str

    Converts a String into a mutable string slice.

    \n+
    1.7.0 \u00b7 source

    pub fn as_mut_str(&mut self) -> &mut str

    Converts a String into a mutable string slice.

    \n
    \u00a7Examples
    \n
    let mut s = String::from(\"foobar\");\n let s_mut_str = s.as_mut_str();\n \n s_mut_str.make_ascii_uppercase();\n \n assert_eq!(\"FOOBAR\", s_mut_str);
    Run
    \n-
    source

    pub fn push_str(&mut self, string: &str)

    Appends a given string slice onto the end of this String.

    \n+
    source

    pub fn push_str(&mut self, string: &str)

    Appends a given string slice onto the end of this String.

    \n
    \u00a7Examples
    \n
    let mut s = String::from(\"foo\");\n \n s.push_str(\"bar\");\n \n assert_eq!(\"foobar\", s);
    Run
    \n
    source

    pub fn extend_from_within<R>(&mut self, src: R)
    where\n- R: RangeBounds<usize>,

    \ud83d\udd2cThis is a nightly-only experimental API. (string_extend_from_within #103806)

    Copies elements from src range to the end of the string.

    \n+ R: RangeBounds<usize>,
    \ud83d\udd2cThis is a nightly-only experimental API. (string_extend_from_within #103806)

    Copies elements from src range to the end of the string.

    \n
    \u00a7Panics
    \n-

    Panics if the starting point or end point do not lie on a char\n+

    Panics if the starting point or end point do not lie on a char\n boundary, or if they\u2019re out of bounds.

    \n
    \u00a7Examples
    \n
    #![feature(string_extend_from_within)]\n let mut string = String::from(\"abcde\");\n \n string.extend_from_within(2..);\n assert_eq!(string, \"abcdecde\");\n \n string.extend_from_within(..2);\n assert_eq!(string, \"abcdecdeab\");\n \n string.extend_from_within(4..8);\n assert_eq!(string, \"abcdecdeabecde\");
    Run
    \n-
    source

    pub fn capacity(&self) -> usize

    Returns this String\u2019s capacity, in bytes.

    \n+
    source

    pub fn capacity(&self) -> usize

    Returns this String\u2019s capacity, in bytes.

    \n
    \u00a7Examples
    \n
    let s = String::with_capacity(10);\n \n assert!(s.capacity() >= 10);
    Run
    \n-
    source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional bytes more than the\n+

    source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional bytes more than the\n current length. The allocator may reserve more space to speculatively\n avoid frequent allocations. After calling reserve,\n capacity will be greater than or equal to self.len() + additional.\n Does nothing if capacity is already sufficient.

    \n
    \u00a7Panics
    \n-

    Panics if the new capacity overflows usize.

    \n+

    Panics if the new capacity overflows usize.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    let mut s = String::new();\n \n s.reserve(10);\n \n@@ -552,22 +552,22 @@\n assert!(capacity >= 10);\n \n // Since we already have at least an extra 8 capacity, calling this...\n s.reserve(8);\n \n // ... doesn't actually increase.\n assert_eq!(capacity, s.capacity());
    Run
    \n-
    source

    pub fn reserve_exact(&mut self, additional: usize)

    Reserves the minimum capacity for at least additional bytes more than\n+

    source

    pub fn reserve_exact(&mut self, additional: usize)

    Reserves the minimum capacity for at least additional bytes more than\n the current length. Unlike reserve, this will not\n deliberately over-allocate to speculatively avoid frequent allocations.\n After calling reserve_exact, capacity will be greater than or equal to\n self.len() + additional. Does nothing if the capacity is already\n sufficient.

    \n
    \u00a7Panics
    \n-

    Panics if the new capacity overflows usize.

    \n+

    Panics if the new capacity overflows usize.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    let mut s = String::new();\n \n s.reserve_exact(10);\n \n@@ -584,15 +584,15 @@\n assert!(capacity >= 10);\n \n // Since we already have at least an extra 8 capacity, calling this...\n s.reserve_exact(8);\n \n // ... doesn't actually increase.\n assert_eq!(capacity, s.capacity());
    Run
    \n-
    1.57.0 \u00b7 source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional bytes more than the\n+

    1.57.0 \u00b7 source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional bytes more than the\n current length. The allocator may reserve more space to speculatively\n avoid frequent allocations. After calling try_reserve, capacity will be\n greater than or equal to self.len() + additional if it returns\n Ok(()). Does nothing if capacity is already sufficient. This method\n preserves the contents even if an error occurs.

    \n
    \u00a7Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\n@@ -609,16 +609,16 @@\n // Now we know this can't OOM in the middle of our complex work\n output.push_str(data);\n \n Ok(output)\n }Run

    \n
    1.57.0 \u00b7 source

    pub fn try_reserve_exact(\n &mut self,\n- additional: usize\n-) -> Result<(), TryReserveError>

    Tries to reserve the minimum capacity for at least additional bytes\n+ additional: usize\n+) -> Result<(), TryReserveError>

    Tries to reserve the minimum capacity for at least additional bytes\n more than the current length. Unlike try_reserve, this will not\n deliberately over-allocate to speculatively avoid frequent allocations.\n After calling try_reserve_exact, capacity will be greater than or\n equal to self.len() + additional if it returns Ok(()).\n Does nothing if the capacity is already sufficient.

    \n

    Note that the allocator may give the collection more space than it\n requests. Therefore, capacity can not be relied upon to be precisely\n@@ -645,72 +645,72 @@\n

    let mut s = String::from(\"foo\");\n \n s.reserve(100);\n assert!(s.capacity() >= 100);\n \n s.shrink_to_fit();\n assert_eq!(3, s.capacity());
    Run
    \n-
    1.56.0 \u00b7 source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of this String with a lower bound.

    \n+
    1.56.0 \u00b7 source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of this String with a lower bound.

    \n

    The capacity will remain at least as large as both the length\n and the supplied value.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    \u00a7Examples
    \n
    let mut s = String::from(\"foo\");\n \n s.reserve(100);\n assert!(s.capacity() >= 100);\n \n s.shrink_to(10);\n assert!(s.capacity() >= 10);\n s.shrink_to(0);\n assert!(s.capacity() >= 3);
    Run
    \n-
    source

    pub fn push(&mut self, ch: char)

    Appends the given char to the end of this String.

    \n+
    source

    pub fn push(&mut self, ch: char)

    Appends the given char to the end of this String.

    \n
    \u00a7Examples
    \n
    let mut s = String::from(\"abc\");\n \n s.push('1');\n s.push('2');\n s.push('3');\n \n assert_eq!(\"abc123\", s);
    Run
    \n-
    source

    pub fn as_bytes(&self) -> &[u8]

    Returns a byte slice of this String\u2019s contents.

    \n+
    source

    pub fn as_bytes(&self) -> &[u8]

    Returns a byte slice of this String\u2019s contents.

    \n

    The inverse of this method is from_utf8.

    \n
    \u00a7Examples
    \n
    let s = String::from(\"hello\");\n \n assert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    Run
    \n-
    source

    pub fn truncate(&mut self, new_len: usize)

    Shortens this String to the specified length.

    \n+
    source

    pub fn truncate(&mut self, new_len: usize)

    Shortens this String to the specified length.

    \n

    If new_len is greater than the string\u2019s current length, this has no\n effect.

    \n

    Note that this method has no effect on the allocated capacity\n of the string

    \n
    \u00a7Panics
    \n-

    Panics if new_len does not lie on a char boundary.

    \n+

    Panics if new_len does not lie on a char boundary.

    \n
    \u00a7Examples
    \n
    let mut s = String::from(\"hello\");\n \n s.truncate(2);\n \n assert_eq!(\"he\", s);
    Run
    \n-
    source

    pub fn pop(&mut self) -> Option<char>

    Removes the last character from the string buffer and returns it.

    \n-

    Returns None if this String is empty.

    \n+
    source

    pub fn pop(&mut self) -> Option<char>

    Removes the last character from the string buffer and returns it.

    \n+

    Returns None if this String is empty.

    \n
    \u00a7Examples
    \n
    let mut s = String::from(\"ab\u010d\");\n \n assert_eq!(s.pop(), Some('\u010d'));\n assert_eq!(s.pop(), Some('b'));\n assert_eq!(s.pop(), Some('a'));\n \n assert_eq!(s.pop(), None);
    Run
    \n-
    source

    pub fn remove(&mut self, idx: usize) -> char

    Removes a char from this String at a byte position and returns it.

    \n+
    source

    pub fn remove(&mut self, idx: usize) -> char

    Removes a char from this String at a byte position and returns it.

    \n

    This is an O(n) operation, as it requires copying every element in the\n buffer.

    \n
    \u00a7Panics
    \n

    Panics if idx is larger than or equal to the String\u2019s length,\n-or if it does not lie on a char boundary.

    \n+or if it does not lie on a char boundary.

    \n
    \u00a7Examples
    \n
    let mut s = String::from(\"ab\u00e7\");\n \n assert_eq!(s.remove(0), 'a');\n assert_eq!(s.remove(1), '\u00e7');\n assert_eq!(s.remove(0), 'b');
    Run
    \n
    source

    pub fn remove_matches<'a, P>(&'a mut self, pat: P)
    where\n@@ -724,15 +724,15 @@\n patterns overlap, only the first pattern will be removed:

    \n \n
    #![feature(string_remove_matches)]\n let mut s = String::from(\"banana\");\n s.remove_matches(\"ana\");\n assert_eq!(\"bna\", s);
    Run
    \n

    1.26.0 \u00b7 source

    pub fn retain<F>(&mut self, f: F)
    where\n- F: FnMut(char) -> bool,

    Retains only the characters specified by the predicate.

    \n+ F: FnMut(char) -> bool,

    Retains only the characters specified by the predicate.

    \n

    In other words, remove all characters c such that f(c) returns false.\n This method operates in place, visiting each character exactly once in the\n original order, and preserves the order of the retained characters.

    \n
    \u00a7Examples
    \n
    let mut s = String::from(\"f_o_ob_ar\");\n \n s.retain(|c| c != '_');\n@@ -742,41 +742,41 @@\n external state may be used to decide which elements to keep.

    \n \n
    let mut s = String::from(\"abcde\");\n let keep = [false, true, true, false, true];\n let mut iter = keep.iter();\n s.retain(|_| *iter.next().unwrap());\n assert_eq!(s, \"bce\");
    Run
    \n-
    source

    pub fn insert(&mut self, idx: usize, ch: char)

    Inserts a character into this String at a byte position.

    \n+
    source

    pub fn insert(&mut self, idx: usize, ch: char)

    Inserts a character into this String at a byte position.

    \n

    This is an O(n) operation as it requires copying every element in the\n buffer.

    \n
    \u00a7Panics
    \n

    Panics if idx is larger than the String\u2019s length, or if it does not\n-lie on a char boundary.

    \n+lie on a char boundary.

    \n
    \u00a7Examples
    \n
    let mut s = String::with_capacity(3);\n \n s.insert(0, 'f');\n s.insert(1, 'o');\n s.insert(2, 'o');\n \n assert_eq!(\"foo\", s);
    Run
    \n-
    1.16.0 \u00b7 source

    pub fn insert_str(&mut self, idx: usize, string: &str)

    Inserts a string slice into this String at a byte position.

    \n+
    1.16.0 \u00b7 source

    pub fn insert_str(&mut self, idx: usize, string: &str)

    Inserts a string slice into this String at a byte position.

    \n

    This is an O(n) operation as it requires copying every element in the\n buffer.

    \n
    \u00a7Panics
    \n

    Panics if idx is larger than the String\u2019s length, or if it does not\n-lie on a char boundary.

    \n+lie on a char boundary.

    \n
    \u00a7Examples
    \n
    let mut s = String::from(\"bar\");\n \n s.insert_str(0, \"foo\");\n \n assert_eq!(\"foobar\", s);
    Run
    \n-
    source

    pub unsafe fn as_mut_vec(&mut self) -> &mut Vec<u8>

    Returns a mutable reference to the contents of this String.

    \n+
    source

    pub unsafe fn as_mut_vec(&mut self) -> &mut Vec<u8>

    Returns a mutable reference to the contents of this String.

    \n
    \u00a7Safety
    \n

    This function is unsafe because the returned &mut Vec allows writing\n bytes which are not valid UTF-8. If this constraint is violated, using\n the original String after dropping the &mut Vec may violate memory\n safety, as the rest of the standard library assumes that Strings are\n valid UTF-8.

    \n
    \u00a7Examples
    \n@@ -785,32 +785,32 @@\n unsafe {\n let vec = s.as_mut_vec();\n assert_eq!(&[104, 101, 108, 108, 111][..], &vec[..]);\n \n vec.reverse();\n }\n assert_eq!(s, \"olleh\");
    Run
    \n-
    source

    pub fn len(&self) -> usize

    Returns the length of this String, in bytes, not chars or\n+

    source

    pub fn len(&self) -> usize

    Returns the length of this String, in bytes, not chars or\n graphemes. In other words, it might not be what a human considers the\n length of the string.

    \n
    \u00a7Examples
    \n
    let a = String::from(\"foo\");\n assert_eq!(a.len(), 3);\n \n let fancy_f = String::from(\"\u0192oo\");\n assert_eq!(fancy_f.len(), 4);\n assert_eq!(fancy_f.chars().count(), 3);
    Run
    \n-
    source

    pub fn is_empty(&self) -> bool

    Returns true if this String has a length of zero, and false otherwise.

    \n+
    source

    pub fn is_empty(&self) -> bool

    Returns true if this String has a length of zero, and false otherwise.

    \n
    \u00a7Examples
    \n
    let mut v = String::new();\n assert!(v.is_empty());\n \n v.push('a');\n assert!(!v.is_empty());
    Run
    \n-
    1.16.0 \u00b7 source

    pub fn split_off(&mut self, at: usize) -> String

    Splits the string into two at the given byte index.

    \n+
    1.16.0 \u00b7 source

    pub fn split_off(&mut self, at: usize) -> String

    Splits the string into two at the given byte index.

    \n

    Returns a newly allocated String. self contains bytes [0, at), and\n the returned String contains bytes [at, len). at must be on the\n boundary of a UTF-8 code point.

    \n

    Note that the capacity of self does not change.

    \n
    \u00a7Panics
    \n

    Panics if at is not on a UTF-8 code point boundary, or if it is beyond the last\n code point of the string.

    \n@@ -827,72 +827,72 @@\n \n s.clear();\n \n assert!(s.is_empty());\n assert_eq!(0, s.len());\n assert_eq!(3, s.capacity());Run
    \n
    1.6.0 \u00b7 source

    pub fn drain<R>(&mut self, range: R) -> Drain<'_> \u24d8
    where\n- R: RangeBounds<usize>,

    Removes the specified range from the string in bulk, returning all\n+ R: RangeBounds<usize>,

    Removes the specified range from the string in bulk, returning all\n removed characters as an iterator.

    \n

    The returned iterator keeps a mutable borrow on the string to optimize\n its implementation.

    \n
    \u00a7Panics
    \n-

    Panics if the starting point or end point do not lie on a char\n+

    Panics if the starting point or end point do not lie on a char\n boundary, or if they\u2019re out of bounds.

    \n
    \u00a7Leaking
    \n

    If the returned iterator goes out of scope without being dropped (due to\n-core::mem::forget, for example), the string may still contain a copy\n+core::mem::forget, for example), the string may still contain a copy\n of any drained characters, or may have lost characters arbitrarily,\n including characters outside the range.

    \n
    \u00a7Examples
    \n
    let mut s = String::from(\"\u03b1 is alpha, \u03b2 is beta\");\n let beta_offset = s.find('\u03b2').unwrap_or(s.len());\n \n // Remove the range up until the \u03b2 from the string\n let t: String = s.drain(..beta_offset).collect();\n assert_eq!(t, \"\u03b1 is alpha, \");\n assert_eq!(s, \"\u03b2 is beta\");\n \n // A full range clears the string, like `clear()` does\n s.drain(..);\n assert_eq!(s, \"\");
    Run
    \n-
    1.27.0 \u00b7 source

    pub fn replace_range<R>(&mut self, range: R, replace_with: &str)
    where\n- R: RangeBounds<usize>,

    Removes the specified range in the string,\n+

    1.27.0 \u00b7 source

    pub fn replace_range<R>(&mut self, range: R, replace_with: &str)
    where\n+ R: RangeBounds<usize>,

    Removes the specified range in the string,\n and replaces it with the given string.\n The given string doesn\u2019t need to be the same length as the range.

    \n
    \u00a7Panics
    \n-

    Panics if the starting point or end point do not lie on a char\n+

    Panics if the starting point or end point do not lie on a char\n boundary, or if they\u2019re out of bounds.

    \n
    \u00a7Examples
    \n
    let mut s = String::from(\"\u03b1 is alpha, \u03b2 is beta\");\n let beta_offset = s.find('\u03b2').unwrap_or(s.len());\n \n // Replace the range up until the \u03b2 from the string\n s.replace_range(..beta_offset, \"\u0391 is capital alpha; \");\n assert_eq!(s, \"\u0391 is capital alpha; \u03b2 is beta\");
    Run
    \n-
    1.4.0 \u00b7 source

    pub fn into_boxed_str(self) -> Box<str>

    Converts this String into a Box<str>.

    \n+
    1.4.0 \u00b7 source

    pub fn into_boxed_str(self) -> Box<str>

    Converts this String into a Box<str>.

    \n

    This will drop any excess capacity.

    \n
    \u00a7Examples
    \n
    let s = String::from(\"hello\");\n \n let b = s.into_boxed_str();
    Run
    \n-
    1.72.0 \u00b7 source

    pub fn leak<'a>(self) -> &'a mut str

    Consumes and leaks the String, returning a mutable reference to the contents,\n+

    1.72.0 \u00b7 source

    pub fn leak<'a>(self) -> &'a mut str

    Consumes and leaks the String, returning a mutable reference to the contents,\n &'a mut str.

    \n

    The caller has free choice over the returned lifetime, including 'static. Indeed,\n this function is ideally used for data that lives for the remainder of the program\u2019s life,\n as dropping the returned reference will cause a memory leak.

    \n

    It does not reallocate or shrink the String,\n so the leaked allocation may include unused capacity that is not part\n of the returned slice. If you don\u2019t want that, call into_boxed_str,\n and then Box::leak.

    \n
    \u00a7Examples
    \n
    let x = String::from(\"bucket\");\n let static_ref: &'static mut str = x.leak();\n assert_eq!(static_ref, \"bucket\");
    Run
    \n-

    Methods from Deref<Target = str>\u00a7

    source

    pub fn replace<'a, P: Pattern<'a>>(&'a self, from: P, to: &str) -> String

    Replaces all matches of a pattern with another string.

    \n+

    Methods from Deref<Target = str>\u00a7

    source

    pub fn replace<'a, P: Pattern<'a>>(&'a self, from: P, to: &str) -> String

    Replaces all matches of a pattern with another string.

    \n

    replace creates a new String, and copies the data from this string slice into it.\n While doing so, it attempts to find matches of a pattern. If it finds any, it\n replaces them with the replacement string slice.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    let s = \"this is old\";\n@@ -902,16 +902,16 @@\n 

    When the pattern doesn\u2019t match, it returns this string slice as String:

    \n \n
    let s = \"this is old\";\n assert_eq!(s, s.replace(\"cookie monster\", \"little lamb\"));
    Run
    \n
    1.16.0 \u00b7 source

    pub fn replacen<'a, P: Pattern<'a>>(\n &'a self,\n pat: P,\n- to: &str,\n- count: usize\n+ to: &str,\n+ count: usize\n ) -> String

    Replaces first N matches of a pattern with another string.

    \n

    replacen creates a new String, and copies the data from this string slice into it.\n While doing so, it attempts to find matches of a pattern. If it finds any, it\n replaces them with the replacement string slice at most count times.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n@@ -968,64 +968,64 @@\n \n assert_eq!(new_year, new_year.to_uppercase());
    Run
    \n

    One character can become multiple:

    \n \n
    let s = \"tsch\u00fc\u00df\";\n \n assert_eq!(\"TSCH\u00dcSS\", s.to_uppercase());
    Run
    \n-
    1.16.0 \u00b7 source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    \n+
    1.16.0 \u00b7 source

    pub fn repeat(&self, n: usize) -> String

    Creates a new String by repeating a string n times.

    \n
    \u00a7Panics
    \n

    This function will panic if the capacity would overflow.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    assert_eq!(\"abc\".repeat(4), String::from(\"abcabcabcabc\"));
    Run
    \n

    A panic upon overflow:

    \n \n
    \u24d8
    // this will panic at runtime\n let huge = \"0123456789abcdef\".repeat(usize::MAX);
    Run
    \n
    1.23.0 \u00b7 source

    pub fn to_ascii_uppercase(&self) -> String

    Returns a copy of this string where each character is mapped to its\n ASCII upper case equivalent.

    \n

    ASCII letters \u2018a\u2019 to \u2018z\u2019 are mapped to \u2018A\u2019 to \u2018Z\u2019,\n but non-ASCII letters are unchanged.

    \n-

    To uppercase the value in-place, use make_ascii_uppercase.

    \n+

    To uppercase the value in-place, use make_ascii_uppercase.

    \n

    To uppercase ASCII characters in addition to non-ASCII characters, use\n to_uppercase.

    \n
    \u00a7Examples
    \n
    let s = \"Gr\u00fc\u00dfe, J\u00fcrgen \u2764\";\n \n assert_eq!(\"GR\u00fc\u00dfE, J\u00fcRGEN \u2764\", s.to_ascii_uppercase());
    Run
    \n
    1.23.0 \u00b7 source

    pub fn to_ascii_lowercase(&self) -> String

    Returns a copy of this string where each character is mapped to its\n ASCII lower case equivalent.

    \n

    ASCII letters \u2018A\u2019 to \u2018Z\u2019 are mapped to \u2018a\u2019 to \u2018z\u2019,\n but non-ASCII letters are unchanged.

    \n-

    To lowercase the value in-place, use make_ascii_lowercase.

    \n+

    To lowercase the value in-place, use make_ascii_lowercase.

    \n

    To lowercase ASCII characters in addition to non-ASCII characters, use\n to_lowercase.

    \n
    \u00a7Examples
    \n
    let s = \"Gr\u00fc\u00dfe, J\u00fcrgen \u2764\";\n \n assert_eq!(\"gr\u00fc\u00dfe, j\u00fcrgen \u2764\", s.to_ascii_lowercase());
    Run
    \n-
    source

    pub fn len(&self) -> usize

    Returns the length of self.

    \n-

    This length is in bytes, not chars or graphemes. In other words,\n+

    source

    pub fn len(&self) -> usize

    Returns the length of self.

    \n+

    This length is in bytes, not chars or graphemes. In other words,\n it might not be what a human considers the length of the string.

    \n
    \u00a7Examples
    \n
    let len = \"foo\".len();\n assert_eq!(3, len);\n \n assert_eq!(\"\u0192oo\".len(), 4); // fancy f!\n assert_eq!(\"\u0192oo\".chars().count(), 3);
    Run
    \n-
    source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    \n+
    source

    pub fn is_empty(&self) -> bool

    Returns true if self has a length of zero bytes.

    \n
    \u00a7Examples
    \n
    let s = \"\";\n assert!(s.is_empty());\n \n let s = \"not empty\";\n assert!(!s.is_empty());
    Run
    \n-
    1.9.0 \u00b7 source

    pub fn is_char_boundary(&self, index: usize) -> bool

    Checks that index-th byte is the first byte in a UTF-8 code point\n+

    1.9.0 \u00b7 source

    pub fn is_char_boundary(&self, index: usize) -> bool

    Checks that index-th byte is the first byte in a UTF-8 code point\n sequence or the end of the string.

    \n

    The start and end of the string (when index == self.len()) are\n considered to be boundaries.

    \n

    Returns false if index is greater than self.len().

    \n
    \u00a7Examples
    \n
    let s = \"L\u00f6we \u8001\u864e L\u00e9opard\";\n assert!(s.is_char_boundary(0));\n@@ -1034,48 +1034,48 @@\n assert!(s.is_char_boundary(s.len()));\n \n // second byte of `\u00f6`\n assert!(!s.is_char_boundary(2));\n \n // third byte of `\u8001`\n assert!(!s.is_char_boundary(8));
    Run
    \n-
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    \ud83d\udd2cThis is a nightly-only experimental API. (round_char_boundary #93743)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    \n+
    source

    pub fn floor_char_boundary(&self, index: usize) -> usize

    \ud83d\udd2cThis is a nightly-only experimental API. (round_char_boundary #93743)

    Finds the closest x not exceeding index where is_char_boundary(x) is true.

    \n

    This method can help you truncate a string so that it\u2019s still valid UTF-8, but doesn\u2019t\n exceed a given number of bytes. Note that this is done purely at the character level\n and can still visually split graphemes, even though the underlying characters aren\u2019t\n split. For example, the emoji \ud83e\uddd1\u200d\ud83d\udd2c (scientist) could be split so that the string only\n includes \ud83e\uddd1 (person) instead.

    \n
    \u00a7Examples
    \n
    #![feature(round_char_boundary)]\n let s = \"\u2764\ufe0f\ud83e\udde1\ud83d\udc9b\ud83d\udc9a\ud83d\udc99\ud83d\udc9c\";\n assert_eq!(s.len(), 26);\n assert!(!s.is_char_boundary(13));\n \n let closest = s.floor_char_boundary(13);\n assert_eq!(closest, 10);\n assert_eq!(&s[..closest], \"\u2764\ufe0f\ud83e\udde1\");
    Run
    \n-
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    \ud83d\udd2cThis is a nightly-only experimental API. (round_char_boundary #93743)

    Finds the closest x not below index where is_char_boundary(x) is true.

    \n+
    source

    pub fn ceil_char_boundary(&self, index: usize) -> usize

    \ud83d\udd2cThis is a nightly-only experimental API. (round_char_boundary #93743)

    Finds the closest x not below index where is_char_boundary(x) is true.

    \n

    If index is greater than the length of the string, this returns the length of the string.

    \n-

    This method is the natural complement to floor_char_boundary. See that method\n+

    This method is the natural complement to floor_char_boundary. See that method\n for more details.

    \n
    \u00a7Examples
    \n
    #![feature(round_char_boundary)]\n let s = \"\u2764\ufe0f\ud83e\udde1\ud83d\udc9b\ud83d\udc9a\ud83d\udc99\ud83d\udc9c\";\n assert_eq!(s.len(), 26);\n assert!(!s.is_char_boundary(13));\n \n let closest = s.ceil_char_boundary(13);\n assert_eq!(closest, 14);\n assert_eq!(&s[..closest], \"\u2764\ufe0f\ud83e\udde1\ud83d\udc9b\");
    Run
    \n-
    source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back\n+

    source

    pub fn as_bytes(&self) -> &[u8]

    Converts a string slice to a byte slice. To convert the byte slice back\n into a string slice, use the from_utf8 function.

    \n
    \u00a7Examples
    \n
    let bytes = \"bors\".as_bytes();\n assert_eq!(b\"bors\", bytes);
    Run
    \n-
    1.20.0 \u00b7 source

    pub unsafe fn as_bytes_mut(&mut self) -> &mut [u8]

    Converts a mutable string slice to a mutable byte slice.

    \n+
    1.20.0 \u00b7 source

    pub unsafe fn as_bytes_mut(&mut self) -> &mut [u8]

    Converts a mutable string slice to a mutable byte slice.

    \n
    \u00a7Safety
    \n

    The caller must ensure that the content of the slice is valid UTF-8\n before the borrow ends and the underlying str is used.

    \n

    Use of a str whose contents are not valid UTF-8 is undefined behavior.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n@@ -1093,51 +1093,51 @@\n bytes[0] = 0xF0;\n bytes[1] = 0x9F;\n bytes[2] = 0x8D;\n bytes[3] = 0x94;\n }\n \n assert_eq!(\"\ud83c\udf54\u2208\ud83c\udf0f\", s);Run
    \n-
    source

    pub fn as_ptr(&self) -> *const u8

    Converts a string slice to a raw pointer.

    \n+
    source

    pub fn as_ptr(&self) -> *const u8

    Converts a string slice to a raw pointer.

    \n

    As string slices are a slice of bytes, the raw pointer points to a\n-u8. This pointer will be pointing to the first byte of the string\n+u8. This pointer will be pointing to the first byte of the string\n slice.

    \n

    The caller must ensure that the returned pointer is never written to.\n-If you need to mutate the contents of the string slice, use as_mut_ptr.

    \n+If you need to mutate the contents of the string slice, use as_mut_ptr.

    \n
    \u00a7Examples
    \n
    let s = \"Hello\";\n let ptr = s.as_ptr();
    Run
    \n-
    1.36.0 \u00b7 source

    pub fn as_mut_ptr(&mut self) -> *mut u8

    Converts a mutable string slice to a raw pointer.

    \n+
    1.36.0 \u00b7 source

    pub fn as_mut_ptr(&mut self) -> *mut u8

    Converts a mutable string slice to a raw pointer.

    \n

    As string slices are a slice of bytes, the raw pointer points to a\n-u8. This pointer will be pointing to the first byte of the string\n+u8. This pointer will be pointing to the first byte of the string\n slice.

    \n

    It is your responsibility to make sure that the string slice only gets\n modified in a way that it remains valid UTF-8.

    \n-
    1.20.0 \u00b7 source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>
    where\n- I: SliceIndex<str>,

    Returns a subslice of str.

    \n+
    1.20.0 \u00b7 source

    pub fn get<I>(&self, i: I) -> Option<&<I as SliceIndex<str>>::Output>
    where\n+ I: SliceIndex<str>,

    Returns a subslice of str.

    \n

    This is the non-panicking alternative to indexing the str. Returns\n-None whenever equivalent indexing operation would panic.

    \n+None whenever equivalent indexing operation would panic.

    \n
    \u00a7Examples
    \n
    let v = String::from(\"\ud83d\uddfb\u2208\ud83c\udf0f\");\n \n assert_eq!(Some(\"\ud83d\uddfb\"), v.get(0..4));\n \n // indices not on UTF-8 sequence boundaries\n assert!(v.get(1..).is_none());\n assert!(v.get(..8).is_none());\n \n // out of bounds\n assert!(v.get(..42).is_none());
    Run
    \n-
    1.20.0 \u00b7 source

    pub fn get_mut<I>(\n+

    1.20.0 \u00b7 source

    pub fn get_mut<I>(\n &mut self,\n i: I\n-) -> Option<&mut <I as SliceIndex<str>>::Output>
    where\n- I: SliceIndex<str>,

    Returns a mutable subslice of str.

    \n+) -> Option<&mut <I as SliceIndex<str>>::Output>
    where\n+ I: SliceIndex<str>,

    Returns a mutable subslice of str.

    \n

    This is the non-panicking alternative to indexing the str. Returns\n-None whenever equivalent indexing operation would panic.

    \n+None whenever equivalent indexing operation would panic.

    \n
    \u00a7Examples
    \n
    let mut v = String::from(\"hello\");\n // correct length\n assert!(v.get_mut(0..5).is_some());\n // out of bounds\n assert!(v.get_mut(..42).is_none());\n assert_eq!(Some(\"he\"), v.get_mut(0..2).map(|v| &*v));\n@@ -1148,16 +1148,16 @@\n     let s = s.map(|s| {\n         s.make_ascii_uppercase();\n         &*s\n     });\n     assert_eq!(Some(\"HE\"), s);\n }\n assert_eq!(\"HEllo\", v);
    Run
    \n-
    1.20.0 \u00b7 source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Output
    where\n- I: SliceIndex<str>,

    Returns an unchecked subslice of str.

    \n+
    1.20.0 \u00b7 source

    pub unsafe fn get_unchecked<I>(&self, i: I) -> &<I as SliceIndex<str>>::Output
    where\n+ I: SliceIndex<str>,

    Returns an unchecked subslice of str.

    \n

    This is the unchecked alternative to indexing the str.

    \n
    \u00a7Safety
    \n

    Callers of this function are responsible that these preconditions are\n satisfied:

    \n
      \n
    • The starting index must not exceed the ending index;
    • \n
    • Indexes must be within bounds of the original slice;
    • \n@@ -1168,19 +1168,19 @@\n
      \u00a7Examples
      \n
      let v = \"\ud83d\uddfb\u2208\ud83c\udf0f\";\n unsafe {\n     assert_eq!(\"\ud83d\uddfb\", v.get_unchecked(0..4));\n     assert_eq!(\"\u2208\", v.get_unchecked(4..7));\n     assert_eq!(\"\ud83c\udf0f\", v.get_unchecked(7..11));\n }
      Run
      \n-
    1.20.0 \u00b7 source

    pub unsafe fn get_unchecked_mut<I>(\n+

    1.20.0 \u00b7 source

    pub unsafe fn get_unchecked_mut<I>(\n &mut self,\n i: I\n-) -> &mut <I as SliceIndex<str>>::Output
    where\n- I: SliceIndex<str>,

    Returns a mutable, unchecked subslice of str.

    \n+) -> &mut <I as SliceIndex<str>>::Output
    where\n+ I: SliceIndex<str>,

    Returns a mutable, unchecked subslice of str.

    \n

    This is the unchecked alternative to indexing the str.

    \n
    \u00a7Safety
    \n

    Callers of this function are responsible that these preconditions are\n satisfied:

    \n
      \n
    • The starting index must not exceed the ending index;
    • \n
    • Indexes must be within bounds of the original slice;
    • \n@@ -1191,22 +1191,22 @@\n
      \u00a7Examples
      \n
      let mut v = String::from(\"\ud83d\uddfb\u2208\ud83c\udf0f\");\n unsafe {\n     assert_eq!(\"\ud83d\uddfb\", v.get_unchecked_mut(0..4));\n     assert_eq!(\"\u2208\", v.get_unchecked_mut(4..7));\n     assert_eq!(\"\ud83c\udf0f\", v.get_unchecked_mut(7..11));\n }
      Run
      \n-
    source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    \ud83d\udc4eDeprecated since 1.29.0: use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety\n+

    source

    pub unsafe fn slice_unchecked(&self, begin: usize, end: usize) -> &str

    \ud83d\udc4eDeprecated since 1.29.0: use get_unchecked(begin..end) instead

    Creates a string slice from another string slice, bypassing safety\n checks.

    \n

    This is generally not recommended, use with caution! For a safe\n-alternative see str and Index.

    \n+alternative see str and Index.

    \n

    This new slice goes from begin to end, including begin but\n excluding end.

    \n

    To get a mutable string slice instead, see the\n-slice_mut_unchecked method.

    \n+slice_mut_unchecked method.

    \n
    \u00a7Safety
    \n

    Callers of this function are responsible that three preconditions are\n satisfied:

    \n
      \n
    • begin must not exceed end.
    • \n
    • begin and end must be byte positions within the string slice.
    • \n
    • begin and end must lie on UTF-8 sequence boundaries.
    • \n@@ -1219,117 +1219,117 @@\n }\n \n let s = \"Hello, world!\";\n \n unsafe {\n assert_eq!(\"world\", s.slice_unchecked(7, 12));\n }Run
    \n-
    1.5.0 \u00b7 source

    pub unsafe fn slice_mut_unchecked(\n+

    1.5.0 \u00b7 source

    pub unsafe fn slice_mut_unchecked(\n &mut self,\n- begin: usize,\n- end: usize\n-) -> &mut str

    \ud83d\udc4eDeprecated since 1.29.0: use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety\n+ begin: usize,\n+ end: usize\n+) -> &mut str

    \ud83d\udc4eDeprecated since 1.29.0: use get_unchecked_mut(begin..end) instead

    Creates a string slice from another string slice, bypassing safety\n checks.\n This is generally not recommended, use with caution! For a safe\n-alternative see str and IndexMut.

    \n+alternative see str and IndexMut.

    \n

    This new slice goes from begin to end, including begin but\n excluding end.

    \n

    To get an immutable string slice instead, see the\n-slice_unchecked method.

    \n+slice_unchecked method.

    \n
    \u00a7Safety
    \n

    Callers of this function are responsible that three preconditions are\n satisfied:

    \n
      \n
    • begin must not exceed end.
    • \n
    • begin and end must be byte positions within the string slice.
    • \n
    • begin and end must lie on UTF-8 sequence boundaries.
    • \n
    \n-
    1.4.0 \u00b7 source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    Divide one string slice into two at an index.

    \n+
    1.4.0 \u00b7 source

    pub fn split_at(&self, mid: usize) -> (&str, &str)

    Divide one string slice into two at an index.

    \n

    The argument, mid, should be a byte offset from the start of the\n string. It must also be on the boundary of a UTF-8 code point.

    \n

    The two slices returned go from the start of the string slice to mid,\n and from mid to the end of the string slice.

    \n-

    To get mutable string slices instead, see the split_at_mut\n+

    To get mutable string slices instead, see the split_at_mut\n method.

    \n
    \u00a7Panics
    \n

    Panics if mid is not on a UTF-8 code point boundary, or if it is past\n the end of the last code point of the string slice. For a non-panicking\n-alternative see split_at_checked.

    \n+alternative see split_at_checked.

    \n
    \u00a7Examples
    \n
    let s = \"Per Martin-L\u00f6f\";\n \n let (first, last) = s.split_at(3);\n \n assert_eq!(\"Per\", first);\n assert_eq!(\" Martin-L\u00f6f\", last);
    Run
    \n-
    1.4.0 \u00b7 source

    pub fn split_at_mut(&mut self, mid: usize) -> (&mut str, &mut str)

    Divide one mutable string slice into two at an index.

    \n+
    1.4.0 \u00b7 source

    pub fn split_at_mut(&mut self, mid: usize) -> (&mut str, &mut str)

    Divide one mutable string slice into two at an index.

    \n

    The argument, mid, should be a byte offset from the start of the\n string. It must also be on the boundary of a UTF-8 code point.

    \n

    The two slices returned go from the start of the string slice to mid,\n and from mid to the end of the string slice.

    \n-

    To get immutable string slices instead, see the split_at method.

    \n+

    To get immutable string slices instead, see the split_at method.

    \n
    \u00a7Panics
    \n

    Panics if mid is not on a UTF-8 code point boundary, or if it is past\n the end of the last code point of the string slice. For a non-panicking\n-alternative see split_at_mut_checked.

    \n+alternative see split_at_mut_checked.

    \n
    \u00a7Examples
    \n
    let mut s = \"Per Martin-L\u00f6f\".to_string();\n {\n     let (first, last) = s.split_at_mut(3);\n     first.make_ascii_uppercase();\n     assert_eq!(\"PER\", first);\n     assert_eq!(\" Martin-L\u00f6f\", last);\n }\n assert_eq!(\"PER Martin-L\u00f6f\", s);
    Run
    \n-
    source

    pub fn split_at_checked(&self, mid: usize) -> Option<(&str, &str)>

    \ud83d\udd2cThis is a nightly-only experimental API. (split_at_checked #119128)

    Divide one string slice into two at an index.

    \n+
    source

    pub fn split_at_checked(&self, mid: usize) -> Option<(&str, &str)>

    \ud83d\udd2cThis is a nightly-only experimental API. (split_at_checked #119128)

    Divide one string slice into two at an index.

    \n

    The argument, mid, should be a valid byte offset from the start of the\n string. It must also be on the boundary of a UTF-8 code point. The\n method returns None if that\u2019s not the case.

    \n

    The two slices returned go from the start of the string slice to mid,\n and from mid to the end of the string slice.

    \n-

    To get mutable string slices instead, see the split_at_mut_checked\n+

    To get mutable string slices instead, see the split_at_mut_checked\n method.

    \n
    \u00a7Examples
    \n
    #![feature(split_at_checked)]\n \n let s = \"Per Martin-L\u00f6f\";\n \n let (first, last) = s.split_at_checked(3).unwrap();\n assert_eq!(\"Per\", first);\n assert_eq!(\" Martin-L\u00f6f\", last);\n \n assert_eq!(None, s.split_at_checked(13));  // Inside \u201c\u00f6\u201d\n assert_eq!(None, s.split_at_checked(16));  // Beyond the string length
    Run
    \n-
    source

    pub fn split_at_mut_checked(\n+

    source

    pub fn split_at_mut_checked(\n &mut self,\n- mid: usize\n-) -> Option<(&mut str, &mut str)>

    \ud83d\udd2cThis is a nightly-only experimental API. (split_at_checked #119128)

    Divide one mutable string slice into two at an index.

    \n+ mid: usize\n+) -> Option<(&mut str, &mut str)>
    \ud83d\udd2cThis is a nightly-only experimental API. (split_at_checked #119128)

    Divide one mutable string slice into two at an index.

    \n

    The argument, mid, should be a valid byte offset from the start of the\n string. It must also be on the boundary of a UTF-8 code point. The\n method returns None if that\u2019s not the case.

    \n

    The two slices returned go from the start of the string slice to mid,\n and from mid to the end of the string slice.

    \n-

    To get immutable string slices instead, see the split_at_checked method.

    \n+

    To get immutable string slices instead, see the split_at_checked method.

    \n
    \u00a7Examples
    \n
    #![feature(split_at_checked)]\n \n let mut s = \"Per Martin-L\u00f6f\".to_string();\n if let Some((first, last)) = s.split_at_mut_checked(3) {\n     first.make_ascii_uppercase();\n     assert_eq!(\"PER\", first);\n     assert_eq!(\" Martin-L\u00f6f\", last);\n }\n assert_eq!(\"PER Martin-L\u00f6f\", s);\n \n assert_eq!(None, s.split_at_mut_checked(13));  // Inside \u201c\u00f6\u201d\n assert_eq!(None, s.split_at_mut_checked(16));  // Beyond the string length
    Run
    \n-
    source

    pub fn chars(&self) -> Chars<'_> \u24d8

    Returns an iterator over the chars of a string slice.

    \n+
    source

    pub fn chars(&self) -> Chars<'_> \u24d8

    Returns an iterator over the chars of a string slice.

    \n

    As a string slice consists of valid UTF-8, we can iterate through a\n-string slice by char. This method returns such an iterator.

    \n-

    It\u2019s important to remember that char represents a Unicode Scalar\n+string slice by char. This method returns such an iterator.

    \n+

    It\u2019s important to remember that char represents a Unicode Scalar\n Value, and might not match your idea of what a \u2018character\u2019 is. Iteration\n over grapheme clusters may be what you actually want. This functionality\n is not provided by Rust\u2019s standard library, check crates.io instead.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    let word = \"goodbye\";\n@@ -1344,30 +1344,30 @@\n assert_eq!(Some('o'), chars.next());\n assert_eq!(Some('d'), chars.next());\n assert_eq!(Some('b'), chars.next());\n assert_eq!(Some('y'), chars.next());\n assert_eq!(Some('e'), chars.next());\n \n assert_eq!(None, chars.next());
    Run
    \n-

    Remember, chars might not match your intuition about characters:

    \n+

    Remember, chars might not match your intuition about characters:

    \n \n
    let y = \"y\u0306\";\n \n let mut chars = y.chars();\n \n assert_eq!(Some('y'), chars.next()); // not 'y\u0306'\n assert_eq!(Some('\\u{0306}'), chars.next());\n \n assert_eq!(None, chars.next());
    Run
    \n-
    source

    pub fn char_indices(&self) -> CharIndices<'_> \u24d8

    Returns an iterator over the chars of a string slice, and their\n+

    source

    pub fn char_indices(&self) -> CharIndices<'_> \u24d8

    Returns an iterator over the chars of a string slice, and their\n positions.

    \n

    As a string slice consists of valid UTF-8, we can iterate through a\n-string slice by char. This method returns an iterator of both\n-these chars, as well as their byte positions.

    \n-

    The iterator yields tuples. The position is first, the char is\n+string slice by char. This method returns an iterator of both\n+these chars, as well as their byte positions.

    \n+

    The iterator yields tuples. The position is first, the char is\n second.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    let word = \"goodbye\";\n \n let count = word.char_indices().count();\n@@ -1380,46 +1380,46 @@\n assert_eq!(Some((2, 'o')), char_indices.next());\n assert_eq!(Some((3, 'd')), char_indices.next());\n assert_eq!(Some((4, 'b')), char_indices.next());\n assert_eq!(Some((5, 'y')), char_indices.next());\n assert_eq!(Some((6, 'e')), char_indices.next());\n \n assert_eq!(None, char_indices.next());
    Run
    \n-

    Remember, chars might not match your intuition about characters:

    \n+

    Remember, chars might not match your intuition about characters:

    \n \n
    let yes = \"y\u0306es\";\n \n let mut char_indices = yes.char_indices();\n \n assert_eq!(Some((0, 'y')), char_indices.next()); // not (0, 'y\u0306')\n assert_eq!(Some((1, '\\u{0306}')), char_indices.next());\n \n // note the 3 here - the previous character took up two bytes\n assert_eq!(Some((3, 'e')), char_indices.next());\n assert_eq!(Some((4, 's')), char_indices.next());\n \n assert_eq!(None, char_indices.next());
    Run
    \n-
    source

    pub fn bytes(&self) -> Bytes<'_> \u24d8

    An iterator over the bytes of a string slice.

    \n+
    source

    pub fn bytes(&self) -> Bytes<'_> \u24d8

    An iterator over the bytes of a string slice.

    \n

    As a string slice consists of a sequence of bytes, we can iterate\n through a string slice by byte. This method returns such an iterator.

    \n
    \u00a7Examples
    \n
    let mut bytes = \"bors\".bytes();\n \n assert_eq!(Some(b'b'), bytes.next());\n assert_eq!(Some(b'o'), bytes.next());\n assert_eq!(Some(b'r'), bytes.next());\n assert_eq!(Some(b's'), bytes.next());\n \n assert_eq!(None, bytes.next());
    Run
    \n-
    1.1.0 \u00b7 source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_> \u24d8

    Splits a string slice by whitespace.

    \n+
    1.1.0 \u00b7 source

    pub fn split_whitespace(&self) -> SplitWhitespace<'_> \u24d8

    Splits a string slice by whitespace.

    \n

    The iterator returned will return string slices that are sub-slices of\n the original string slice, separated by any amount of whitespace.

    \n

    \u2018Whitespace\u2019 is defined according to the terms of the Unicode Derived\n Core Property White_Space. If you only want to split on ASCII whitespace\n-instead, use split_ascii_whitespace.

    \n+instead, use split_ascii_whitespace.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    let mut iter = \"A few words\".split_whitespace();\n \n assert_eq!(Some(\"A\"), iter.next());\n assert_eq!(Some(\"few\"), iter.next());\n@@ -1436,18 +1436,18 @@\n assert_eq!(Some(\"lamb\"), iter.next());\n \n assert_eq!(None, iter.next());
    Run
    \n

    If the string is empty or all whitespace, the iterator yields no string slices:

    \n \n
    assert_eq!(\"\".split_whitespace().next(), None);\n assert_eq!(\"   \".split_whitespace().next(), None);
    Run
    \n-
    1.34.0 \u00b7 source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_> \u24d8

    Splits a string slice by ASCII whitespace.

    \n+
    1.34.0 \u00b7 source

    pub fn split_ascii_whitespace(&self) -> SplitAsciiWhitespace<'_> \u24d8

    Splits a string slice by ASCII whitespace.

    \n

    The iterator returned will return string slices that are sub-slices of\n the original string slice, separated by any amount of ASCII whitespace.

    \n-

    To split by Unicode Whitespace instead, use split_whitespace.

    \n+

    To split by Unicode Whitespace instead, use split_whitespace.

    \n
    \u00a7Examples
    \n

    Basic usage:

    \n \n
    let mut iter = \"A few words\".split_ascii_whitespace();\n \n assert_eq!(Some(\"A\"), iter.next());\n assert_eq!(Some(\"few\"), iter.next());\n@@ -1464,15 +1464,15 @@\n assert_eq!(Some(\"lamb\"), iter.next());\n \n assert_eq!(None, iter.next());
    Run
    \n

    If the string is empty or all ASCII whitespace, the iterator yields no string slices:

    \n \n
    assert_eq!(\"\".split_ascii_whitespace().next(), None);\n assert_eq!(\"   \".split_ascii_whitespace().next(), None);
    Run
    \n-
    source

    pub fn lines(&self) -> Lines<'_> \u24d8

    An iterator over the lines of a string, as string slices.

    \n+
    source

    pub fn lines(&self) -> Lines<'_> \u24d8

    An iterator over the lines of a string, as string slices.

    \n

    Lines are split at line endings that are either newlines (\\n) or\n sequences of a carriage return followed by a line feed (\\r\\n).

    \n

    Line terminators are not included in the lines returned by the iterator.

    \n

    Note that any carriage return (\\r) not immediately followed by a\n line feed (\\n) does not split a line. These carriage returns are\n thereby included in the produced lines.

    \n

    The final line ending is optional. A string that ends with a final line\n@@ -1498,72 +1498,72 @@\n \n assert_eq!(Some(\"foo\"), lines.next());\n assert_eq!(Some(\"bar\"), lines.next());\n assert_eq!(Some(\"\"), lines.next());\n assert_eq!(Some(\"baz\"), lines.next());\n \n assert_eq!(None, lines.next());Run

    \n-
    source

    pub fn lines_any(&self) -> LinesAny<'_> \u24d8

    \ud83d\udc4eDeprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    \n-
    1.8.0 \u00b7 source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_> \u24d8

    Returns an iterator of u16 over the string encoded as UTF-16.

    \n+
    source

    pub fn lines_any(&self) -> LinesAny<'_> \u24d8

    \ud83d\udc4eDeprecated since 1.4.0: use lines() instead now

    An iterator over the lines of a string.

    \n+
    1.8.0 \u00b7 source

    pub fn encode_utf16(&self) -> EncodeUtf16<'_> \u24d8

    Returns an iterator of u16 over the string encoded as UTF-16.

    \n
    \u00a7Examples
    \n
    let text = \"Za\u017c\u00f3\u0142\u0107 g\u0119\u015bl\u0105 ja\u017a\u0144\";\n \n let utf8_len = text.len();\n let utf16_len = text.encode_utf16().count();\n \n assert!(utf16_len <= utf8_len);
    Run
    \n-
    source

    pub fn contains<'a, P>(&'a self, pat: P) -> bool
    where\n+

    source

    pub fn contains<'a, P>(&'a self, pat: P) -> bool
    where\n P: Pattern<'a>,

    Returns true if the given pattern matches a sub-slice of\n this string slice.

    \n

    Returns false if it does not.

    \n-

    The pattern can be a &str, char, a slice of chars, or a\n+

    The pattern can be a &str, char, a slice of chars, or a\n function or closure that determines if a character matches.

    \n
    \u00a7Examples
    \n
    let bananas = \"bananas\";\n \n assert!(bananas.contains(\"nana\"));\n assert!(!bananas.contains(\"apples\"));
    Run
    \n-
    source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> bool
    where\n+

    source

    pub fn starts_with<'a, P>(&'a self, pat: P) -> bool
    where\n P: Pattern<'a>,

    Returns true if the given pattern matches a prefix of this\n string slice.

    \n

    Returns false if it does not.

    \n

    The pattern can be a &str, in which case this function will return true if\n the &str is a prefix of this string slice.

    \n-

    The pattern can also be a char, a slice of chars, or a\n+

    The pattern can also be a char, a slice of chars, or a\n function or closure that determines if a character matches.\n These will only be checked against the first character of this string slice.\n-Look at the second example below regarding behavior for slices of chars.

    \n+Look at the second example below regarding behavior for slices of chars.

    \n
    \u00a7Examples
    \n
    let bananas = \"bananas\";\n \n assert!(bananas.starts_with(\"bana\"));\n assert!(!bananas.starts_with(\"nana\"));
    Run
    \n \n
    let bananas = \"bananas\";\n \n // Note that both of these assert successfully.\n assert!(bananas.starts_with(&['b', 'a', 'n', 'a']));\n assert!(bananas.starts_with(&['a', 'b', 'c', 'd']));
    Run
    \n-
    source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> bool
    where\n+

    source

    pub fn ends_with<'a, P>(&'a self, pat: P) -> bool
    where\n P: Pattern<'a>,\n <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns true if the given pattern matches a suffix of this\n string slice.

    \n

    Returns false if it does not.

    \n-

    The pattern can be a &str, char, a slice of chars, or a\n+

    The pattern can be a &str, char, a slice of chars, or a\n function or closure that determines if a character matches.

    \n
    \u00a7Examples
    \n
    let bananas = \"bananas\";\n \n assert!(bananas.ends_with(\"anas\"));\n assert!(!bananas.ends_with(\"nana\"));
    Run
    \n-
    source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>
    where\n+

    source

    pub fn find<'a, P>(&'a self, pat: P) -> Option<usize>
    where\n P: Pattern<'a>,

    Returns the byte index of the first character of this string slice that\n matches the pattern.

    \n-

    Returns None if the pattern doesn\u2019t match.

    \n-

    The pattern can be a &str, char, a slice of chars, or a\n+

    Returns None if the pattern doesn\u2019t match.

    \n+

    The pattern can be a &str, char, a slice of chars, or a\n function or closure that determines if a character matches.

    \n
    \u00a7Examples
    \n

    Simple patterns:

    \n \n
    let s = \"L\u00f6we \u8001\u864e L\u00e9opard Gepardi\";\n \n assert_eq!(s.find('L'), Some(0));\n@@ -1579,20 +1579,20 @@\n assert_eq!(s.find(|c: char| (c < 'o') && (c > 'a')), Some(4));
    Run
    \n

    Not finding the pattern:

    \n \n
    let s = \"L\u00f6we \u8001\u864e L\u00e9opard\";\n let x: &[_] = &['1', '2'];\n \n assert_eq!(s.find(x), None);
    Run
    \n-
    source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>
    where\n+

    source

    pub fn rfind<'a, P>(&'a self, pat: P) -> Option<usize>
    where\n P: Pattern<'a>,\n <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns the byte index for the first character of the last match of the pattern in\n this string slice.

    \n-

    Returns None if the pattern doesn\u2019t match.

    \n-

    The pattern can be a &str, char, a slice of chars, or a\n+

    Returns None if the pattern doesn\u2019t match.

    \n+

    The pattern can be a &str, char, a slice of chars, or a\n function or closure that determines if a character matches.

    \n
    \u00a7Examples
    \n

    Simple patterns:

    \n \n
    let s = \"L\u00f6we \u8001\u864e L\u00e9opard Gepardi\";\n \n assert_eq!(s.rfind('L'), Some(13));\n@@ -1606,25 +1606,25 @@\n assert_eq!(s.rfind(char::is_lowercase), Some(20));
    Run
    \n

    Not finding the pattern:

    \n \n
    let s = \"L\u00f6we \u8001\u864e L\u00e9opard\";\n let x: &[_] = &['1', '2'];\n \n assert_eq!(s.rfind(x), None);
    Run
    \n-
    source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P> \u24d8
    where\n+

    source

    pub fn split<'a, P>(&'a self, pat: P) -> Split<'a, P> \u24d8
    where\n P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by\n characters matched by a pattern.

    \n-

    The pattern can be a &str, char, a slice of chars, or a\n+

    The pattern can be a &str, char, a slice of chars, or a\n function or closure that determines if a character matches.

    \n
    \u00a7Iterator behavior
    \n-

    The returned iterator will be a DoubleEndedIterator if the pattern\n+

    The returned iterator will be a DoubleEndedIterator if the pattern\n allows a reverse search and forward/reverse search yields the same\n-elements. This is true for, e.g., char, but not for &str.

    \n+elements. This is true for, e.g., char, but not for &str.

    \n

    If the pattern allows a reverse search but its results might differ\n-from a forward search, the rsplit method can be used.

    \n+from a forward search, the rsplit method can be used.

    \n
    \u00a7Examples
    \n

    Simple patterns:

    \n \n
    let v: Vec<&str> = \"Mary had a little lamb\".split(' ').collect();\n assert_eq!(v, [\"Mary\", \"had\", \"a\", \"little\", \"lamb\"]);\n \n let v: Vec<&str> = \"\".split('X').collect();\n@@ -1679,44 +1679,44 @@\n 
    let x = \"    a  b c\".to_string();\n let d: Vec<_> = x.split(' ').collect();\n \n assert_eq!(d, &[\"\", \"\", \"\", \"\", \"a\", \"\", \"b\", \"c\"]);
    Run
    \n

    It does not give you:

    \n \n
    \u24d8
    assert_eq!(d, &[\"a\", \"b\", \"c\"]);
    Run
    \n-

    Use split_whitespace for this behavior.

    \n-
    1.51.0 \u00b7 source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P> \u24d8
    where\n+

    Use split_whitespace for this behavior.

    \n+

    1.51.0 \u00b7 source

    pub fn split_inclusive<'a, P>(&'a self, pat: P) -> SplitInclusive<'a, P> \u24d8
    where\n P: Pattern<'a>,

    An iterator over substrings of this string slice, separated by\n characters matched by a pattern. Differs from the iterator produced by\n split in that split_inclusive leaves the matched part as the\n terminator of the substring.

    \n-

    The pattern can be a &str, char, a slice of chars, or a\n+

    The pattern can be a &str, char, a slice of chars, or a\n function or closure that determines if a character matches.

    \n
    \u00a7Examples
    \n
    let v: Vec<&str> = \"Mary had a little lamb\\nlittle lamb\\nlittle lamb.\"\n     .split_inclusive('\\n').collect();\n assert_eq!(v, [\"Mary had a little lamb\\n\", \"little lamb\\n\", \"little lamb.\"]);
    Run
    \n

    If the last element of the string is matched,\n that element will be considered the terminator of the preceding substring.\n That substring will be the last item returned by the iterator.

    \n \n
    let v: Vec<&str> = \"Mary had a little lamb\\nlittle lamb\\nlittle lamb.\\n\"\n     .split_inclusive('\\n').collect();\n assert_eq!(v, [\"Mary had a little lamb\\n\", \"little lamb\\n\", \"little lamb.\\n\"]);
    Run
    \n-
    source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P> \u24d8
    where\n+

    source

    pub fn rsplit<'a, P>(&'a self, pat: P) -> RSplit<'a, P> \u24d8
    where\n P: Pattern<'a>,\n <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of the given string slice, separated by\n characters matched by a pattern and yielded in reverse order.

    \n-

    The pattern can be a &str, char, a slice of chars, or a\n+

    The pattern can be a &str, char, a slice of chars, or a\n function or closure that determines if a character matches.

    \n
    \u00a7Iterator behavior
    \n

    The returned iterator requires that the pattern supports a reverse\n-search, and it will be a DoubleEndedIterator if a forward/reverse\n+search, and it will be a DoubleEndedIterator if a forward/reverse\n search yields the same elements.

    \n-

    For iterating from the front, the split method can be used.

    \n+

    For iterating from the front, the split method can be used.

    \n
    \u00a7Examples
    \n

    Simple patterns:

    \n \n
    let v: Vec<&str> = \"Mary had a little lamb\".rsplit(' ').collect();\n assert_eq!(v, [\"lamb\", \"little\", \"a\", \"had\", \"Mary\"]);\n \n let v: Vec<&str> = \"\".rsplit('X').collect();\n@@ -1727,74 +1727,74 @@\n \n let v: Vec<&str> = \"lion::tiger::leopard\".rsplit(\"::\").collect();\n assert_eq!(v, [\"leopard\", \"tiger\", \"lion\"]);
    Run
    \n

    A more complex pattern, using a closure:

    \n \n
    let v: Vec<&str> = \"abc1defXghi\".rsplit(|c| c == '1' || c == 'X').collect();\n assert_eq!(v, [\"ghi\", \"def\", \"abc\"]);
    Run
    \n-
    source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P> \u24d8
    where\n+

    source

    pub fn split_terminator<'a, P>(&'a self, pat: P) -> SplitTerminator<'a, P> \u24d8
    where\n P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by\n characters matched by a pattern.

    \n-

    The pattern can be a &str, char, a slice of chars, or a\n+

    The pattern can be a &str, char, a slice of chars, or a\n function or closure that determines if a character matches.

    \n-

    Equivalent to split, except that the trailing substring\n+

    Equivalent to split, except that the trailing substring\n is skipped if empty.

    \n

    This method can be used for string data that is terminated,\n rather than separated by a pattern.

    \n
    \u00a7Iterator behavior
    \n-

    The returned iterator will be a DoubleEndedIterator if the pattern\n+

    The returned iterator will be a DoubleEndedIterator if the pattern\n allows a reverse search and forward/reverse search yields the same\n-elements. This is true for, e.g., char, but not for &str.

    \n+elements. This is true for, e.g., char, but not for &str.

    \n

    If the pattern allows a reverse search but its results might differ\n-from a forward search, the rsplit_terminator method can be used.

    \n+from a forward search, the rsplit_terminator method can be used.

    \n
    \u00a7Examples
    \n
    let v: Vec<&str> = \"A.B.\".split_terminator('.').collect();\n assert_eq!(v, [\"A\", \"B\"]);\n \n let v: Vec<&str> = \"A..B..\".split_terminator(\".\").collect();\n assert_eq!(v, [\"A\", \"\", \"B\", \"\"]);\n \n let v: Vec<&str> = \"A.B:C.D\".split_terminator(&['.', ':'][..]).collect();\n assert_eq!(v, [\"A\", \"B\", \"C\", \"D\"]);
    Run
    \n-
    source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P> \u24d8
    where\n+

    source

    pub fn rsplit_terminator<'a, P>(&'a self, pat: P) -> RSplitTerminator<'a, P> \u24d8
    where\n P: Pattern<'a>,\n <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of self, separated by characters\n matched by a pattern and yielded in reverse order.

    \n-

    The pattern can be a &str, char, a slice of chars, or a\n+

    The pattern can be a &str, char, a slice of chars, or a\n function or closure that determines if a character matches.

    \n-

    Equivalent to split, except that the trailing substring is\n+

    Equivalent to split, except that the trailing substring is\n skipped if empty.

    \n

    This method can be used for string data that is terminated,\n rather than separated by a pattern.

    \n
    \u00a7Iterator behavior
    \n

    The returned iterator requires that the pattern supports a\n reverse search, and it will be double ended if a forward/reverse\n search yields the same elements.

    \n-

    For iterating from the front, the split_terminator method can be\n+

    For iterating from the front, the split_terminator method can be\n used.

    \n
    \u00a7Examples
    \n
    let v: Vec<&str> = \"A.B.\".rsplit_terminator('.').collect();\n assert_eq!(v, [\"B\", \"A\"]);\n \n let v: Vec<&str> = \"A..B..\".rsplit_terminator(\".\").collect();\n assert_eq!(v, [\"\", \"B\", \"\", \"A\"]);\n \n let v: Vec<&str> = \"A.B:C.D\".rsplit_terminator(&['.', ':'][..]).collect();\n assert_eq!(v, [\"D\", \"C\", \"B\", \"A\"]);
    Run
    \n-
    source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P> \u24d8
    where\n+

    source

    pub fn splitn<'a, P>(&'a self, n: usize, pat: P) -> SplitN<'a, P> \u24d8
    where\n P: Pattern<'a>,

    An iterator over substrings of the given string slice, separated by a\n pattern, restricted to returning at most n items.

    \n

    If n substrings are returned, the last substring (the nth substring)\n will contain the remainder of the string.

    \n-

    The pattern can be a &str, char, a slice of chars, or a\n+

    The pattern can be a &str, char, a slice of chars, or a\n function or closure that determines if a character matches.

    \n
    \u00a7Iterator behavior
    \n

    The returned iterator will not be double ended, because it is\n not efficient to support.

    \n-

    If the pattern allows a reverse search, the rsplitn method can be\n+

    If the pattern allows a reverse search, the rsplitn method can be\n used.

    \n
    \u00a7Examples
    \n

    Simple patterns:

    \n \n
    let v: Vec<&str> = \"Mary had a little lambda\".splitn(3, ' ').collect();\n assert_eq!(v, [\"Mary\", \"had\", \"a little lambda\"]);\n \n@@ -1806,27 +1806,27 @@\n \n let v: Vec<&str> = \"\".splitn(1, 'X').collect();\n assert_eq!(v, [\"\"]);
    Run
    \n

    A more complex pattern, using a closure:

    \n \n
    let v: Vec<&str> = \"abc1defXghi\".splitn(2, |c| c == '1' || c == 'X').collect();\n assert_eq!(v, [\"abc\", \"defXghi\"]);
    Run
    \n-
    source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P> \u24d8
    where\n+

    source

    pub fn rsplitn<'a, P>(&'a self, n: usize, pat: P) -> RSplitN<'a, P> \u24d8
    where\n P: Pattern<'a>,\n <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over substrings of this string slice, separated by a\n pattern, starting from the end of the string, restricted to returning\n at most n items.

    \n

    If n substrings are returned, the last substring (the nth substring)\n will contain the remainder of the string.

    \n-

    The pattern can be a &str, char, a slice of chars, or a\n+

    The pattern can be a &str, char, a slice of chars, or a\n function or closure that determines if a character matches.

    \n
    \u00a7Iterator behavior
    \n

    The returned iterator will not be double ended, because it is not\n efficient to support.

    \n-

    For splitting from the front, the splitn method can be used.

    \n+

    For splitting from the front, the splitn method can be used.

    \n
    \u00a7Examples
    \n

    Simple patterns:

    \n \n
    let v: Vec<&str> = \"Mary had a little lamb\".rsplitn(3, ' ').collect();\n assert_eq!(v, [\"lamb\", \"little\", \"Mary had a\"]);\n \n let v: Vec<&str> = \"lionXXtigerXleopard\".rsplitn(3, 'X').collect();\n@@ -1834,116 +1834,116 @@\n \n let v: Vec<&str> = \"lion::tiger::leopard\".rsplitn(2, \"::\").collect();\n assert_eq!(v, [\"leopard\", \"lion::tiger\"]);
    Run
    \n

    A more complex pattern, using a closure:

    \n \n
    let v: Vec<&str> = \"abc1defXghi\".rsplitn(2, |c| c == '1' || c == 'X').collect();\n assert_eq!(v, [\"ghi\", \"abc1def\"]);
    Run
    \n-
    1.52.0 \u00b7 source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where\n+

    1.52.0 \u00b7 source

    pub fn split_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where\n P: Pattern<'a>,

    Splits the string on the first occurrence of the specified delimiter and\n returns prefix before delimiter and suffix after delimiter.

    \n
    \u00a7Examples
    \n
    assert_eq!(\"cfg\".split_once('='), None);\n assert_eq!(\"cfg=\".split_once('='), Some((\"cfg\", \"\")));\n assert_eq!(\"cfg=foo\".split_once('='), Some((\"cfg\", \"foo\")));\n assert_eq!(\"cfg=foo=bar\".split_once('='), Some((\"cfg\", \"foo=bar\")));
    Run
    \n-
    1.52.0 \u00b7 source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where\n+

    1.52.0 \u00b7 source

    pub fn rsplit_once<'a, P>(&'a self, delimiter: P) -> Option<(&'a str, &'a str)>
    where\n P: Pattern<'a>,\n <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Splits the string on the last occurrence of the specified delimiter and\n returns prefix before delimiter and suffix after delimiter.

    \n
    \u00a7Examples
    \n
    assert_eq!(\"cfg\".rsplit_once('='), None);\n assert_eq!(\"cfg=foo\".rsplit_once('='), Some((\"cfg\", \"foo\")));\n assert_eq!(\"cfg=foo=bar\".rsplit_once('='), Some((\"cfg=foo\", \"bar\")));
    Run
    \n-
    1.2.0 \u00b7 source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P> \u24d8
    where\n+

    1.2.0 \u00b7 source

    pub fn matches<'a, P>(&'a self, pat: P) -> Matches<'a, P> \u24d8
    where\n P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within the given string\n slice.

    \n-

    The pattern can be a &str, char, a slice of chars, or a\n+

    The pattern can be a &str, char, a slice of chars, or a\n function or closure that determines if a character matches.

    \n
    \u00a7Iterator behavior
    \n-

    The returned iterator will be a DoubleEndedIterator if the pattern\n+

    The returned iterator will be a DoubleEndedIterator if the pattern\n allows a reverse search and forward/reverse search yields the same\n-elements. This is true for, e.g., char, but not for &str.

    \n+elements. This is true for, e.g., char, but not for &str.

    \n

    If the pattern allows a reverse search but its results might differ\n-from a forward search, the rmatches method can be used.

    \n+from a forward search, the rmatches method can be used.

    \n
    \u00a7Examples
    \n
    let v: Vec<&str> = \"abcXXXabcYYYabc\".matches(\"abc\").collect();\n assert_eq!(v, [\"abc\", \"abc\", \"abc\"]);\n \n let v: Vec<&str> = \"1abc2abc3\".matches(char::is_numeric).collect();\n assert_eq!(v, [\"1\", \"2\", \"3\"]);
    Run
    \n-
    1.2.0 \u00b7 source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P> \u24d8
    where\n+

    1.2.0 \u00b7 source

    pub fn rmatches<'a, P>(&'a self, pat: P) -> RMatches<'a, P> \u24d8
    where\n P: Pattern<'a>,\n <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within this string slice,\n yielded in reverse order.

    \n-

    The pattern can be a &str, char, a slice of chars, or a\n+

    The pattern can be a &str, char, a slice of chars, or a\n function or closure that determines if a character matches.

    \n
    \u00a7Iterator behavior
    \n

    The returned iterator requires that the pattern supports a reverse\n-search, and it will be a DoubleEndedIterator if a forward/reverse\n+search, and it will be a DoubleEndedIterator if a forward/reverse\n search yields the same elements.

    \n-

    For iterating from the front, the matches method can be used.

    \n+

    For iterating from the front, the matches method can be used.

    \n
    \u00a7Examples
    \n
    let v: Vec<&str> = \"abcXXXabcYYYabc\".rmatches(\"abc\").collect();\n assert_eq!(v, [\"abc\", \"abc\", \"abc\"]);\n \n let v: Vec<&str> = \"1abc2abc3\".rmatches(char::is_numeric).collect();\n assert_eq!(v, [\"3\", \"2\", \"1\"]);
    Run
    \n-
    1.5.0 \u00b7 source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P> \u24d8
    where\n+

    1.5.0 \u00b7 source

    pub fn match_indices<'a, P>(&'a self, pat: P) -> MatchIndices<'a, P> \u24d8
    where\n P: Pattern<'a>,

    An iterator over the disjoint matches of a pattern within this string\n slice as well as the index that the match starts at.

    \n

    For matches of pat within self that overlap, only the indices\n corresponding to the first match are returned.

    \n-

    The pattern can be a &str, char, a slice of chars, or a\n+

    The pattern can be a &str, char, a slice of chars, or a\n function or closure that determines if a character matches.

    \n
    \u00a7Iterator behavior
    \n-

    The returned iterator will be a DoubleEndedIterator if the pattern\n+

    The returned iterator will be a DoubleEndedIterator if the pattern\n allows a reverse search and forward/reverse search yields the same\n-elements. This is true for, e.g., char, but not for &str.

    \n+elements. This is true for, e.g., char, but not for &str.

    \n

    If the pattern allows a reverse search but its results might differ\n-from a forward search, the rmatch_indices method can be used.

    \n+from a forward search, the rmatch_indices method can be used.

    \n
    \u00a7Examples
    \n
    let v: Vec<_> = \"abcXXXabcYYYabc\".match_indices(\"abc\").collect();\n assert_eq!(v, [(0, \"abc\"), (6, \"abc\"), (12, \"abc\")]);\n \n let v: Vec<_> = \"1abcabc2\".match_indices(\"abc\").collect();\n assert_eq!(v, [(1, \"abc\"), (4, \"abc\")]);\n \n let v: Vec<_> = \"ababa\".match_indices(\"aba\").collect();\n assert_eq!(v, [(0, \"aba\")]); // only the first `aba`
    Run
    \n-
    1.5.0 \u00b7 source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P> \u24d8
    where\n+

    1.5.0 \u00b7 source

    pub fn rmatch_indices<'a, P>(&'a self, pat: P) -> RMatchIndices<'a, P> \u24d8
    where\n P: Pattern<'a>,\n <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    An iterator over the disjoint matches of a pattern within self,\n yielded in reverse order along with the index of the match.

    \n

    For matches of pat within self that overlap, only the indices\n corresponding to the last match are returned.

    \n-

    The pattern can be a &str, char, a slice of chars, or a\n+

    The pattern can be a &str, char, a slice of chars, or a\n function or closure that determines if a character matches.

    \n
    \u00a7Iterator behavior
    \n

    The returned iterator requires that the pattern supports a reverse\n-search, and it will be a DoubleEndedIterator if a forward/reverse\n+search, and it will be a DoubleEndedIterator if a forward/reverse\n search yields the same elements.

    \n-

    For iterating from the front, the match_indices method can be used.

    \n+

    For iterating from the front, the match_indices method can be used.

    \n
    \u00a7Examples
    \n
    let v: Vec<_> = \"abcXXXabcYYYabc\".rmatch_indices(\"abc\").collect();\n assert_eq!(v, [(12, \"abc\"), (6, \"abc\"), (0, \"abc\")]);\n \n let v: Vec<_> = \"1abcabc2\".rmatch_indices(\"abc\").collect();\n assert_eq!(v, [(4, \"abc\"), (1, \"abc\")]);\n \n let v: Vec<_> = \"ababa\".rmatch_indices(\"aba\").collect();\n assert_eq!(v, [(2, \"aba\")]); // only the last `aba`
    Run
    \n-
    source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    \n+
    source

    pub fn trim(&self) -> &str

    Returns a string slice with leading and trailing whitespace removed.

    \n

    \u2018Whitespace\u2019 is defined according to the terms of the Unicode Derived\n Core Property White_Space, which includes newlines.

    \n
    \u00a7Examples
    \n
    let s = \"\\n Hello\\tworld\\t\\n\";\n \n assert_eq!(\"Hello\\tworld\", s.trim());
    Run
    \n-
    1.30.0 \u00b7 source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    \n+
    1.30.0 \u00b7 source

    pub fn trim_start(&self) -> &str

    Returns a string slice with leading whitespace removed.

    \n

    \u2018Whitespace\u2019 is defined according to the terms of the Unicode Derived\n Core Property White_Space, which includes newlines.

    \n
    \u00a7Text directionality
    \n

    A string is a sequence of bytes. start in this context means the first\n position of that byte string; for a left-to-right language like English or\n Russian, this will be left side, and for right-to-left languages like\n Arabic or Hebrew, this will be the right side.

    \n@@ -1955,15 +1955,15 @@\n

    Directionality:

    \n \n
    let s = \"  English  \";\n assert!(Some('E') == s.trim_start().chars().next());\n \n let s = \"  \u05e2\u05d1\u05e8\u05d9\u05ea  \";\n assert!(Some('\u05e2') == s.trim_start().chars().next());
    Run
    \n-
    1.30.0 \u00b7 source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    \n+
    1.30.0 \u00b7 source

    pub fn trim_end(&self) -> &str

    Returns a string slice with trailing whitespace removed.

    \n

    \u2018Whitespace\u2019 is defined according to the terms of the Unicode Derived\n Core Property White_Space, which includes newlines.

    \n
    \u00a7Text directionality
    \n

    A string is a sequence of bytes. end in this context means the last\n position of that byte string; for a left-to-right language like English or\n Russian, this will be right side, and for right-to-left languages like\n Arabic or Hebrew, this will be the left side.

    \n@@ -1975,15 +1975,15 @@\n

    Directionality:

    \n \n
    let s = \"  English  \";\n assert!(Some('h') == s.trim_end().chars().rev().next());\n \n let s = \"  \u05e2\u05d1\u05e8\u05d9\u05ea  \";\n assert!(Some('\u05ea') == s.trim_end().chars().rev().next());
    Run
    \n-
    source

    pub fn trim_left(&self) -> &str

    \ud83d\udc4eDeprecated since 1.33.0: superseded by trim_start

    Returns a string slice with leading whitespace removed.

    \n+
    source

    pub fn trim_left(&self) -> &str

    \ud83d\udc4eDeprecated since 1.33.0: superseded by trim_start

    Returns a string slice with leading whitespace removed.

    \n

    \u2018Whitespace\u2019 is defined according to the terms of the Unicode Derived\n Core Property White_Space.

    \n
    \u00a7Text directionality
    \n

    A string is a sequence of bytes. \u2018Left\u2019 in this context means the first\n position of that byte string; for a language like Arabic or Hebrew\n which are \u2018right to left\u2019 rather than \u2018left to right\u2019, this will be\n the right side, not the left.

    \n@@ -1996,15 +1996,15 @@\n

    Directionality:

    \n \n
    let s = \"  English\";\n assert!(Some('E') == s.trim_left().chars().next());\n \n let s = \"  \u05e2\u05d1\u05e8\u05d9\u05ea\";\n assert!(Some('\u05e2') == s.trim_left().chars().next());
    Run
    \n-
    source

    pub fn trim_right(&self) -> &str

    \ud83d\udc4eDeprecated since 1.33.0: superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    \n+
    source

    pub fn trim_right(&self) -> &str

    \ud83d\udc4eDeprecated since 1.33.0: superseded by trim_end

    Returns a string slice with trailing whitespace removed.

    \n

    \u2018Whitespace\u2019 is defined according to the terms of the Unicode Derived\n Core Property White_Space.

    \n
    \u00a7Text directionality
    \n

    A string is a sequence of bytes. \u2018Right\u2019 in this context means the last\n position of that byte string; for a language like Arabic or Hebrew\n which are \u2018right to left\u2019 rather than \u2018left to right\u2019, this will be\n the left side, not the right.

    \n@@ -2017,75 +2017,75 @@\n

    Directionality:

    \n \n
    let s = \"English  \";\n assert!(Some('h') == s.trim_right().chars().rev().next());\n \n let s = \"\u05e2\u05d1\u05e8\u05d9\u05ea  \";\n assert!(Some('\u05ea') == s.trim_right().chars().rev().next());
    Run
    \n-
    source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a str
    where\n+

    source

    pub fn trim_matches<'a, P>(&'a self, pat: P) -> &'a str
    where\n P: Pattern<'a>,\n <P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,

    Returns a string slice with all prefixes and suffixes that match a\n pattern repeatedly removed.

    \n-

    The pattern can be a char, a slice of chars, or a function\n+

    The pattern can be a char, a slice of chars, or a function\n or closure that determines if a character matches.

    \n
    \u00a7Examples
    \n

    Simple patterns:

    \n \n
    assert_eq!(\"11foo1bar11\".trim_matches('1'), \"foo1bar\");\n assert_eq!(\"123foo1bar123\".trim_matches(char::is_numeric), \"foo1bar\");\n \n let x: &[_] = &['1', '2'];\n assert_eq!(\"12foo1bar12\".trim_matches(x), \"foo1bar\");
    Run
    \n

    A more complex pattern, using a closure:

    \n \n
    assert_eq!(\"1foo1barXX\".trim_matches(|c| c == '1' || c == 'X'), \"foo1bar\");
    Run
    \n-
    1.30.0 \u00b7 source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a str
    where\n+

    1.30.0 \u00b7 source

    pub fn trim_start_matches<'a, P>(&'a self, pat: P) -> &'a str
    where\n P: Pattern<'a>,

    Returns a string slice with all prefixes that match a pattern\n repeatedly removed.

    \n-

    The pattern can be a &str, char, a slice of chars, or a\n+

    The pattern can be a &str, char, a slice of chars, or a\n function or closure that determines if a character matches.

    \n
    \u00a7Text directionality
    \n

    A string is a sequence of bytes. start in this context means the first\n position of that byte string; for a left-to-right language like English or\n Russian, this will be left side, and for right-to-left languages like\n Arabic or Hebrew, this will be the right side.

    \n
    \u00a7Examples
    \n
    assert_eq!(\"11foo1bar11\".trim_start_matches('1'), \"foo1bar11\");\n assert_eq!(\"123foo1bar123\".trim_start_matches(char::is_numeric), \"foo1bar123\");\n \n let x: &[_] = &['1', '2'];\n assert_eq!(\"12foo1bar12\".trim_start_matches(x), \"foo1bar12\");
    Run
    \n-
    1.45.0 \u00b7 source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>
    where\n+

    1.45.0 \u00b7 source

    pub fn strip_prefix<'a, P>(&'a self, prefix: P) -> Option<&'a str>
    where\n P: Pattern<'a>,

    Returns a string slice with the prefix removed.

    \n

    If the string starts with the pattern prefix, returns the substring after the prefix,\n wrapped in Some. Unlike trim_start_matches, this method removes the prefix exactly once.

    \n

    If the string does not start with prefix, returns None.

    \n-

    The pattern can be a &str, char, a slice of chars, or a\n+

    The pattern can be a &str, char, a slice of chars, or a\n function or closure that determines if a character matches.

    \n
    \u00a7Examples
    \n
    assert_eq!(\"foo:bar\".strip_prefix(\"foo:\"), Some(\"bar\"));\n assert_eq!(\"foo:bar\".strip_prefix(\"bar\"), None);\n assert_eq!(\"foofoo\".strip_prefix(\"foo\"), Some(\"foo\"));
    Run
    \n-
    1.45.0 \u00b7 source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>
    where\n+

    1.45.0 \u00b7 source

    pub fn strip_suffix<'a, P>(&'a self, suffix: P) -> Option<&'a str>
    where\n P: Pattern<'a>,\n <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with the suffix removed.

    \n

    If the string ends with the pattern suffix, returns the substring before the suffix,\n wrapped in Some. Unlike trim_end_matches, this method removes the suffix exactly once.

    \n

    If the string does not end with suffix, returns None.

    \n-

    The pattern can be a &str, char, a slice of chars, or a\n+

    The pattern can be a &str, char, a slice of chars, or a\n function or closure that determines if a character matches.

    \n
    \u00a7Examples
    \n
    assert_eq!(\"bar:foo\".strip_suffix(\":foo\"), Some(\"bar\"));\n assert_eq!(\"bar:foo\".strip_suffix(\"bar\"), None);\n assert_eq!(\"foofoo\".strip_suffix(\"foo\"), Some(\"foo\"));
    Run
    \n-
    1.30.0 \u00b7 source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a str
    where\n+

    1.30.0 \u00b7 source

    pub fn trim_end_matches<'a, P>(&'a self, pat: P) -> &'a str
    where\n P: Pattern<'a>,\n <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    Returns a string slice with all suffixes that match a pattern\n repeatedly removed.

    \n-

    The pattern can be a &str, char, a slice of chars, or a\n+

    The pattern can be a &str, char, a slice of chars, or a\n function or closure that determines if a character matches.

    \n
    \u00a7Text directionality
    \n

    A string is a sequence of bytes. end in this context means the last\n position of that byte string; for a left-to-right language like English or\n Russian, this will be right side, and for right-to-left languages like\n Arabic or Hebrew, this will be the left side.

    \n
    \u00a7Examples
    \n@@ -2095,35 +2095,35 @@\n assert_eq!(\"123foo1bar123\".trim_end_matches(char::is_numeric), \"123foo1bar\");\n \n let x: &[_] = &['1', '2'];\n assert_eq!(\"12foo1bar12\".trim_end_matches(x), \"12foo1bar\");
    Run
    \n

    A more complex pattern, using a closure:

    \n \n
    assert_eq!(\"1fooX\".trim_end_matches(|c| c == '1' || c == 'X'), \"1foo\");
    Run
    \n-
    source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a str
    where\n+

    source

    pub fn trim_left_matches<'a, P>(&'a self, pat: P) -> &'a str
    where\n P: Pattern<'a>,

    \ud83d\udc4eDeprecated since 1.33.0: superseded by trim_start_matches

    Returns a string slice with all prefixes that match a pattern\n repeatedly removed.

    \n-

    The pattern can be a &str, char, a slice of chars, or a\n+

    The pattern can be a &str, char, a slice of chars, or a\n function or closure that determines if a character matches.

    \n
    \u00a7Text directionality
    \n

    A string is a sequence of bytes. \u2018Left\u2019 in this context means the first\n position of that byte string; for a language like Arabic or Hebrew\n which are \u2018right to left\u2019 rather than \u2018left to right\u2019, this will be\n the right side, not the left.

    \n
    \u00a7Examples
    \n
    assert_eq!(\"11foo1bar11\".trim_left_matches('1'), \"foo1bar11\");\n assert_eq!(\"123foo1bar123\".trim_left_matches(char::is_numeric), \"foo1bar123\");\n \n let x: &[_] = &['1', '2'];\n assert_eq!(\"12foo1bar12\".trim_left_matches(x), \"foo1bar12\");
    Run
    \n-
    source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a str
    where\n+

    source

    pub fn trim_right_matches<'a, P>(&'a self, pat: P) -> &'a str
    where\n P: Pattern<'a>,\n <P as Pattern<'a>>::Searcher: ReverseSearcher<'a>,

    \ud83d\udc4eDeprecated since 1.33.0: superseded by trim_end_matches

    Returns a string slice with all suffixes that match a pattern\n repeatedly removed.

    \n-

    The pattern can be a &str, char, a slice of chars, or a\n+

    The pattern can be a &str, char, a slice of chars, or a\n function or closure that determines if a character matches.

    \n
    \u00a7Text directionality
    \n

    A string is a sequence of bytes. \u2018Right\u2019 in this context means the last\n position of that byte string; for a language like Arabic or Hebrew\n which are \u2018right to left\u2019 rather than \u2018left to right\u2019, this will be\n the left side, not the right.

    \n
    \u00a7Examples
    \n@@ -2133,15 +2133,15 @@\n assert_eq!(\"123foo1bar123\".trim_right_matches(char::is_numeric), \"123foo1bar\");\n \n let x: &[_] = &['1', '2'];\n assert_eq!(\"12foo1bar12\".trim_right_matches(x), \"12foo1bar\");Run
    \n

    A more complex pattern, using a closure:

    \n \n
    assert_eq!(\"1fooX\".trim_right_matches(|c| c == '1' || c == 'X'), \"1foo\");
    Run
    \n-
    source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>
    where\n+

    source

    pub fn parse<F>(&self) -> Result<F, <F as FromStr>::Err>
    where\n F: FromStr,

    Parses this string slice into another type.

    \n

    Because parse is so general, it can cause problems with type\n inference. As such, parse is one of the few times you\u2019ll see\n the syntax affectionately known as the \u2018turbofish\u2019: ::<>. This\n helps the inference algorithm understand specifically which type\n you\u2019re trying to parse into.

    \n

    parse can parse into any type that implements the FromStr trait.

    \n@@ -2160,81 +2160,81 @@\n \n assert_eq!(Ok(4), four);Run
    \n

    Failing to parse:

    \n \n
    let nope = \"j\".parse::<u32>();\n \n assert!(nope.is_err());
    Run
    \n-
    1.23.0 \u00b7 source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    \n+
    1.23.0 \u00b7 source

    pub fn is_ascii(&self) -> bool

    Checks if all characters in this string are within the ASCII range.

    \n
    \u00a7Examples
    \n
    let ascii = \"hello!\\n\";\n let non_ascii = \"Gr\u00fc\u00dfe, J\u00fcrgen \u2764\";\n \n assert!(ascii.is_ascii());\n assert!(!non_ascii.is_ascii());
    Run
    \n-
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    \ud83d\udd2cThis is a nightly-only experimental API. (ascii_char #110998)

    If this string slice is_ascii, returns it as a slice\n-of ASCII characters, otherwise returns None.

    \n-
    1.23.0 \u00b7 source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    Checks that two strings are an ASCII case-insensitive match.

    \n+
    source

    pub fn as_ascii(&self) -> Option<&[AsciiChar]>

    \ud83d\udd2cThis is a nightly-only experimental API. (ascii_char #110998)

    If this string slice is_ascii, returns it as a slice\n+of ASCII characters, otherwise returns None.

    \n+
    1.23.0 \u00b7 source

    pub fn eq_ignore_ascii_case(&self, other: &str) -> bool

    Checks that two strings are an ASCII case-insensitive match.

    \n

    Same as to_ascii_lowercase(a) == to_ascii_lowercase(b),\n but without allocating and copying temporaries.

    \n
    \u00a7Examples
    \n
    assert!(\"Ferris\".eq_ignore_ascii_case(\"FERRIS\"));\n assert!(\"Ferr\u00f6s\".eq_ignore_ascii_case(\"FERR\u00f6S\"));\n assert!(!\"Ferr\u00f6s\".eq_ignore_ascii_case(\"FERR\u00d6S\"));
    Run
    \n-
    1.23.0 \u00b7 source

    pub fn make_ascii_uppercase(&mut self)

    Converts this string to its ASCII upper case equivalent in-place.

    \n+
    1.23.0 \u00b7 source

    pub fn make_ascii_uppercase(&mut self)

    Converts this string to its ASCII upper case equivalent in-place.

    \n

    ASCII letters \u2018a\u2019 to \u2018z\u2019 are mapped to \u2018A\u2019 to \u2018Z\u2019,\n but non-ASCII letters are unchanged.

    \n

    To return a new uppercased value without modifying the existing one, use\n to_ascii_uppercase().

    \n
    \u00a7Examples
    \n
    let mut s = String::from(\"Gr\u00fc\u00dfe, J\u00fcrgen \u2764\");\n \n s.make_ascii_uppercase();\n \n assert_eq!(\"GR\u00fc\u00dfE, J\u00fcRGEN \u2764\", s);
    Run
    \n-
    1.23.0 \u00b7 source

    pub fn make_ascii_lowercase(&mut self)

    Converts this string to its ASCII lower case equivalent in-place.

    \n+
    1.23.0 \u00b7 source

    pub fn make_ascii_lowercase(&mut self)

    Converts this string to its ASCII lower case equivalent in-place.

    \n

    ASCII letters \u2018A\u2019 to \u2018Z\u2019 are mapped to \u2018a\u2019 to \u2018z\u2019,\n but non-ASCII letters are unchanged.

    \n

    To return a new lowercased value without modifying the existing one, use\n to_ascii_lowercase().

    \n
    \u00a7Examples
    \n
    let mut s = String::from(\"GR\u00dc\u00dfE, J\u00dcRGEN \u2764\");\n \n s.make_ascii_lowercase();\n \n assert_eq!(\"gr\u00dc\u00dfe, j\u00dcrgen \u2764\", s);
    Run
    \n-
    source

    pub fn trim_ascii_start(&self) -> &str

    \ud83d\udd2cThis is a nightly-only experimental API. (byte_slice_trim_ascii #94035)

    Returns a string slice with leading ASCII whitespace removed.

    \n+
    source

    pub fn trim_ascii_start(&self) -> &str

    \ud83d\udd2cThis is a nightly-only experimental API. (byte_slice_trim_ascii #94035)

    Returns a string slice with leading ASCII whitespace removed.

    \n

    \u2018Whitespace\u2019 refers to the definition used by\n-u8::is_ascii_whitespace.

    \n+u8::is_ascii_whitespace.

    \n
    \u00a7Examples
    \n
    #![feature(byte_slice_trim_ascii)]\n \n assert_eq!(\" \\t \\u{3000}hello world\\n\".trim_ascii_start(), \"\\u{3000}hello world\\n\");\n assert_eq!(\"  \".trim_ascii_start(), \"\");\n assert_eq!(\"\".trim_ascii_start(), \"\");
    Run
    \n-
    source

    pub fn trim_ascii_end(&self) -> &str

    \ud83d\udd2cThis is a nightly-only experimental API. (byte_slice_trim_ascii #94035)

    Returns a string slice with trailing ASCII whitespace removed.

    \n+
    source

    pub fn trim_ascii_end(&self) -> &str

    \ud83d\udd2cThis is a nightly-only experimental API. (byte_slice_trim_ascii #94035)

    Returns a string slice with trailing ASCII whitespace removed.

    \n

    \u2018Whitespace\u2019 refers to the definition used by\n-u8::is_ascii_whitespace.

    \n+u8::is_ascii_whitespace.

    \n
    \u00a7Examples
    \n
    #![feature(byte_slice_trim_ascii)]\n \n assert_eq!(\"\\r hello world\\u{3000}\\n \".trim_ascii_end(), \"\\r hello world\\u{3000}\");\n assert_eq!(\"  \".trim_ascii_end(), \"\");\n assert_eq!(\"\".trim_ascii_end(), \"\");
    Run
    \n-
    source

    pub fn trim_ascii(&self) -> &str

    \ud83d\udd2cThis is a nightly-only experimental API. (byte_slice_trim_ascii #94035)

    Returns a string slice with leading and trailing ASCII whitespace\n+

    source

    pub fn trim_ascii(&self) -> &str

    \ud83d\udd2cThis is a nightly-only experimental API. (byte_slice_trim_ascii #94035)

    Returns a string slice with leading and trailing ASCII whitespace\n removed.

    \n

    \u2018Whitespace\u2019 refers to the definition used by\n-u8::is_ascii_whitespace.

    \n+u8::is_ascii_whitespace.

    \n
    \u00a7Examples
    \n
    #![feature(byte_slice_trim_ascii)]\n \n assert_eq!(\"\\r hello world\\n \".trim_ascii(), \"hello world\");\n assert_eq!(\"  \".trim_ascii(), \"\");\n assert_eq!(\"\".trim_ascii(), \"\");
    Run
    \n-
    1.34.0 \u00b7 source

    pub fn escape_debug(&self) -> EscapeDebug<'_> \u24d8

    Return an iterator that escapes each char in self with char::escape_debug.

    \n+
    1.34.0 \u00b7 source

    pub fn escape_debug(&self) -> EscapeDebug<'_> \u24d8

    Return an iterator that escapes each char in self with char::escape_debug.

    \n

    Note: only extended grapheme codepoints that begin the string will be\n escaped.

    \n
    \u00a7Examples
    \n

    As an iterator:

    \n \n
    for c in \"\u2764\\n!\".escape_debug() {\n     print!(\"{c}\");\n@@ -2245,15 +2245,15 @@\n 
    println!(\"{}\", \"\u2764\\n!\".escape_debug());
    Run
    \n

    Both are equivalent to:

    \n \n
    println!(\"\u2764\\\\n!\");
    Run
    \n

    Using to_string:

    \n \n
    assert_eq!(\"\u2764\\n!\".escape_debug().to_string(), \"\u2764\\\\n!\");
    Run
    \n-
    1.34.0 \u00b7 source

    pub fn escape_default(&self) -> EscapeDefault<'_> \u24d8

    Return an iterator that escapes each char in self with char::escape_default.

    \n+
    1.34.0 \u00b7 source

    pub fn escape_default(&self) -> EscapeDefault<'_> \u24d8

    Return an iterator that escapes each char in self with char::escape_default.

    \n
    \u00a7Examples
    \n

    As an iterator:

    \n \n
    for c in \"\u2764\\n!\".escape_default() {\n     print!(\"{c}\");\n }\n println!();
    Run
    \n@@ -2262,15 +2262,15 @@\n
    println!(\"{}\", \"\u2764\\n!\".escape_default());
    Run
    \n

    Both are equivalent to:

    \n \n
    println!(\"\\\\u{{2764}}\\\\n!\");
    Run
    \n

    Using to_string:

    \n \n
    assert_eq!(\"\u2764\\n!\".escape_default().to_string(), \"\\\\u{2764}\\\\n!\");
    Run
    \n-
    1.34.0 \u00b7 source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_> \u24d8

    Return an iterator that escapes each char in self with char::escape_unicode.

    \n+
    1.34.0 \u00b7 source

    pub fn escape_unicode(&self) -> EscapeUnicode<'_> \u24d8

    Return an iterator that escapes each char in self with char::escape_unicode.

    \n
    \u00a7Examples
    \n

    As an iterator:

    \n \n
    for c in \"\u2764\\n!\".escape_unicode() {\n     print!(\"{c}\");\n }\n println!();
    Run
    \n@@ -2279,15 +2279,15 @@\n
    println!(\"{}\", \"\u2764\\n!\".escape_unicode());
    Run
    \n

    Both are equivalent to:

    \n \n
    println!(\"\\\\u{{2764}}\\\\u{{a}}\\\\u{{21}}\");
    Run
    \n

    Using to_string:

    \n \n
    assert_eq!(\"\u2764\\n!\".escape_unicode().to_string(), \"\\\\u{2764}\\\\u{a}\\\\u{21}\");
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl Add<&str> for String

    Implements the + operator for concatenating two strings.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl Add<&str> for String

    Implements the + operator for concatenating two strings.

    \n

    This consumes the String on the left-hand side and re-uses its buffer (growing it if\n necessary). This is done to avoid allocating a new String and copying the entire contents on\n every operation, which would lead to O(n^2) running time when building an n-byte string by\n repeated concatenation.

    \n

    The string on the right-hand side is only borrowed; its contents are copied into the returned\n String.

    \n

    \u00a7Examples

    \n@@ -2304,135 +2304,135 @@\n let c = a.clone() + &b;\n // `a` is still valid here.
    Run
    \n

    Concatenating &str slices can be done by converting the first to a String:

    \n \n
    let a = \"hello\";\n let b = \" world\";\n let c = a.to_string() + b;
    Run
    \n-
    \u00a7

    type Output = String

    The resulting type after applying the + operator.
    source\u00a7

    fn add(self, other: &str) -> String

    Performs the + operation. Read more
    1.12.0 \u00b7 source\u00a7

    impl AddAssign<&str> for String

    Implements the += operator for appending to a String.

    \n+
    \u00a7

    type Output = String

    The resulting type after applying the + operator.
    source\u00a7

    fn add(self, other: &str) -> String

    Performs the + operation. Read more
    1.12.0 \u00b7 source\u00a7

    impl AddAssign<&str> for String

    Implements the += operator for appending to a String.

    \n

    This has the same behavior as the push_str method.

    \n-
    source\u00a7

    fn add_assign(&mut self, other: &str)

    Performs the += operation. Read more
    1.43.0 \u00b7 source\u00a7

    impl AsMut<str> for String

    source\u00a7

    fn as_mut(&mut self) -> &mut str

    Converts this type into a mutable reference of the (usually inferred) input type.
    source\u00a7

    impl AsRef<[u8]> for String

    source\u00a7

    fn as_ref(&self) -> &[u8]

    Converts this type into a shared reference of the (usually inferred) input type.
    source\u00a7

    impl AsRef<str> for String

    source\u00a7

    fn as_ref(&self) -> &str

    Converts this type into a shared reference of the (usually inferred) input type.
    source\u00a7

    impl Borrow<str> for String

    source\u00a7

    fn borrow(&self) -> &str

    Immutably borrows from an owned value. Read more
    1.36.0 \u00b7 source\u00a7

    impl BorrowMut<str> for String

    source\u00a7

    fn borrow_mut(&mut self) -> &mut str

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl Clone for String

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for String

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Default for String

    source\u00a7

    fn default() -> String

    Creates an empty String.

    \n-
    source\u00a7

    impl Deref for String

    \u00a7

    type Target = str

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &str

    Dereferences the value.
    1.3.0 \u00b7 source\u00a7

    impl DerefMut for String

    source\u00a7

    fn deref_mut(&mut self) -> &mut str

    Mutably dereferences the value.
    source\u00a7

    impl Display for String

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.2.0 \u00b7 source\u00a7

    impl<'a> Extend<&'a char> for String

    source\u00a7

    fn extend<I: IntoIterator<Item = &'a char>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, c: &'a char)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    source\u00a7

    impl<'a> Extend<&'a str> for String

    source\u00a7

    fn extend<I: IntoIterator<Item = &'a str>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, s: &'a str)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    1.45.0 \u00b7 source\u00a7

    impl Extend<Box<str>> for String

    source\u00a7

    fn extend<I: IntoIterator<Item = Box<str>>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, item: A)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    1.19.0 \u00b7 source\u00a7

    impl<'a> Extend<Cow<'a, str>> for String

    source\u00a7

    fn extend<I: IntoIterator<Item = Cow<'a, str>>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, s: Cow<'a, str>)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    1.4.0 \u00b7 source\u00a7

    impl Extend<String> for String

    source\u00a7

    fn extend<I: IntoIterator<Item = String>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, s: String)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    source\u00a7

    impl Extend<char> for String

    source\u00a7

    fn extend<I: IntoIterator<Item = char>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, c: char)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    1.28.0 \u00b7 source\u00a7

    impl<'a> From<&'a String> for Cow<'a, str>

    source\u00a7

    fn from(s: &'a String) -> Cow<'a, str>

    Converts a String reference into a Borrowed variant.\n+

    source\u00a7

    fn add_assign(&mut self, other: &str)

    Performs the += operation. Read more
    1.43.0 \u00b7 source\u00a7

    impl AsMut<str> for String

    source\u00a7

    fn as_mut(&mut self) -> &mut str

    Converts this type into a mutable reference of the (usually inferred) input type.
    source\u00a7

    impl AsRef<[u8]> for String

    source\u00a7

    fn as_ref(&self) -> &[u8]

    Converts this type into a shared reference of the (usually inferred) input type.
    source\u00a7

    impl AsRef<str> for String

    source\u00a7

    fn as_ref(&self) -> &str

    Converts this type into a shared reference of the (usually inferred) input type.
    source\u00a7

    impl Borrow<str> for String

    source\u00a7

    fn borrow(&self) -> &str

    Immutably borrows from an owned value. Read more
    1.36.0 \u00b7 source\u00a7

    impl BorrowMut<str> for String

    source\u00a7

    fn borrow_mut(&mut self) -> &mut str

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl Clone for String

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl Debug for String

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl Default for String

    source\u00a7

    fn default() -> String

    Creates an empty String.

    \n+
    source\u00a7

    impl Deref for String

    \u00a7

    type Target = str

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &str

    Dereferences the value.
    1.3.0 \u00b7 source\u00a7

    impl DerefMut for String

    source\u00a7

    fn deref_mut(&mut self) -> &mut str

    Mutably dereferences the value.
    source\u00a7

    impl Display for String

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.2.0 \u00b7 source\u00a7

    impl<'a> Extend<&'a char> for String

    source\u00a7

    fn extend<I: IntoIterator<Item = &'a char>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, c: &'a char)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    source\u00a7

    impl<'a> Extend<&'a str> for String

    source\u00a7

    fn extend<I: IntoIterator<Item = &'a str>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, s: &'a str)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    1.45.0 \u00b7 source\u00a7

    impl Extend<Box<str>> for String

    source\u00a7

    fn extend<I: IntoIterator<Item = Box<str>>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, item: A)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    1.19.0 \u00b7 source\u00a7

    impl<'a> Extend<Cow<'a, str>> for String

    source\u00a7

    fn extend<I: IntoIterator<Item = Cow<'a, str>>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, s: Cow<'a, str>)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    1.4.0 \u00b7 source\u00a7

    impl Extend<String> for String

    source\u00a7

    fn extend<I: IntoIterator<Item = String>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, s: String)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    source\u00a7

    impl Extend<char> for String

    source\u00a7

    fn extend<I: IntoIterator<Item = char>>(&mut self, iter: I)

    Extends a collection with the contents of an iterator. Read more
    source\u00a7

    fn extend_one(&mut self, c: char)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Extends a collection with exactly one element.
    source\u00a7

    fn extend_reserve(&mut self, additional: usize)

    \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
    Reserves capacity in a collection for the given number of additional elements. Read more
    1.28.0 \u00b7 source\u00a7

    impl<'a> From<&'a String> for Cow<'a, str>

    source\u00a7

    fn from(s: &'a String) -> Cow<'a, str>

    Converts a String reference into a Borrowed variant.\n No heap allocation is performed, and the string\n is not copied.

    \n
    \u00a7Example
    \n
    let s = \"eggplant\".to_string();\n assert_eq!(Cow::from(&s), Cow::Borrowed(\"eggplant\"));
    Run
    \n-
    1.35.0 \u00b7 source\u00a7

    impl From<&String> for String

    source\u00a7

    fn from(s: &String) -> String

    Converts a &String into a String.

    \n+
    1.35.0 \u00b7 source\u00a7

    impl From<&String> for String

    source\u00a7

    fn from(s: &String) -> String

    Converts a &String into a String.

    \n

    This clones s and returns the clone.

    \n-
    1.44.0 \u00b7 source\u00a7

    impl From<&mut str> for String

    source\u00a7

    fn from(s: &mut str) -> String

    Converts a &mut str into a String.

    \n+
    1.44.0 \u00b7 source\u00a7

    impl From<&mut str> for String

    source\u00a7

    fn from(s: &mut str) -> String

    Converts a &mut str into a String.

    \n

    The result is allocated on the heap.

    \n-
    source\u00a7

    impl From<&str> for String

    source\u00a7

    fn from(s: &str) -> String

    Converts a &str into a String.

    \n+
    source\u00a7

    impl From<&str> for String

    source\u00a7

    fn from(s: &str) -> String

    Converts a &str into a String.

    \n

    The result is allocated on the heap.

    \n-
    1.18.0 \u00b7 source\u00a7

    impl From<Box<str>> for String

    source\u00a7

    fn from(s: Box<str>) -> String

    Converts the given boxed str slice to a String.\n+

    1.18.0 \u00b7 source\u00a7

    impl From<Box<str>> for String

    source\u00a7

    fn from(s: Box<str>) -> String

    Converts the given boxed str slice to a String.\n It is notable that the str slice is owned.

    \n
    \u00a7Examples
    \n
    let s1: String = String::from(\"hello world\");\n let s2: Box<str> = s1.into_boxed_str();\n let s3: String = String::from(s2);\n \n assert_eq!(\"hello world\", s3)
    Run
    \n-
    1.14.0 \u00b7 source\u00a7

    impl<'a> From<Cow<'a, str>> for String

    source\u00a7

    fn from(s: Cow<'a, str>) -> String

    Converts a clone-on-write string to an owned\n+

    1.14.0 \u00b7 source\u00a7

    impl<'a> From<Cow<'a, str>> for String

    source\u00a7

    fn from(s: Cow<'a, str>) -> String

    Converts a clone-on-write string to an owned\n instance of String.

    \n

    This extracts the owned string,\n clones the string if it is not already owned.

    \n
    \u00a7Example
    \n
    // If the string is not owned...\n let cow: Cow<'_, str> = Cow::Borrowed(\"eggplant\");\n // It will allocate on the heap and copy the string.\n let owned: String = String::from(cow);\n assert_eq!(&owned[..], \"eggplant\");
    Run
    \n-
    1.21.0 \u00b7 source\u00a7

    impl From<String> for Arc<str>

    source\u00a7

    fn from(v: String) -> Arc<str>

    Allocate a reference-counted str and copy v into it.

    \n+
    1.21.0 \u00b7 source\u00a7

    impl From<String> for Arc<str>

    source\u00a7

    fn from(v: String) -> Arc<str>

    Allocate a reference-counted str and copy v into it.

    \n
    \u00a7Example
    \n
    let unique: String = \"eggplant\".to_owned();\n let shared: Arc<str> = Arc::from(unique);\n assert_eq!(\"eggplant\", &shared[..]);
    Run
    \n-
    1.6.0 \u00b7 source\u00a7

    impl<'a> From<String> for Box<dyn Error + 'a>

    source\u00a7

    fn from(str_err: String) -> Box<dyn Error + 'a>

    Converts a String into a box of dyn Error.

    \n+
    1.6.0 \u00b7 source\u00a7

    impl<'a> From<String> for Box<dyn Error + 'a>

    source\u00a7

    fn from(str_err: String) -> Box<dyn Error + 'a>

    Converts a String into a box of dyn Error.

    \n
    \u00a7Examples
    \n
    use std::error::Error;\n use std::mem;\n \n let a_string_error = \"a string error\".to_string();\n let a_boxed_error = Box::<dyn Error>::from(a_string_error);\n assert!(mem::size_of::<Box<dyn Error>>() == mem::size_of_val(&a_boxed_error))
    Run
    \n-
    source\u00a7

    impl<'a> From<String> for Box<dyn Error + Send + Sync + 'a>

    source\u00a7

    fn from(err: String) -> Box<dyn Error + Send + Sync + 'a>

    Converts a String into a box of dyn Error + Send + Sync.

    \n+
    source\u00a7

    impl<'a> From<String> for Box<dyn Error + Send + Sync + 'a>

    source\u00a7

    fn from(err: String) -> Box<dyn Error + Send + Sync + 'a>

    Converts a String into a box of dyn Error + Send + Sync.

    \n
    \u00a7Examples
    \n
    use std::error::Error;\n use std::mem;\n \n let a_string_error = \"a string error\".to_string();\n let a_boxed_error = Box::<dyn Error + Send + Sync>::from(a_string_error);\n assert!(\n     mem::size_of::<Box<dyn Error + Send + Sync>>() == mem::size_of_val(&a_boxed_error))
    Run
    \n-
    1.20.0 \u00b7 source\u00a7

    impl From<String> for Box<str>

    source\u00a7

    fn from(s: String) -> Box<str>

    Converts the given String to a boxed str slice that is owned.

    \n+
    1.20.0 \u00b7 source\u00a7

    impl From<String> for Box<str>

    source\u00a7

    fn from(s: String) -> Box<str>

    Converts the given String to a boxed str slice that is owned.

    \n
    \u00a7Examples
    \n
    let s1: String = String::from(\"hello world\");\n let s2: Box<str> = Box::from(s1);\n let s3: String = String::from(s2);\n \n assert_eq!(\"hello world\", s3)
    Run
    \n-
    source\u00a7

    impl<'a> From<String> for Cow<'a, str>

    source\u00a7

    fn from(s: String) -> Cow<'a, str>

    Converts a String into an Owned variant.\n+

    source\u00a7

    impl<'a> From<String> for Cow<'a, str>

    source\u00a7

    fn from(s: String) -> Cow<'a, str>

    Converts a String into an Owned variant.\n No heap allocation is performed, and the string\n is not copied.

    \n
    \u00a7Example
    \n
    let s = \"eggplant\".to_string();\n let s2 = \"eggplant\".to_string();\n assert_eq!(Cow::from(s), Cow::<'static, str>::Owned(s2));
    Run
    \n-
    1.21.0 \u00b7 source\u00a7

    impl From<String> for Rc<str>

    source\u00a7

    fn from(v: String) -> Rc<str>

    Allocate a reference-counted string slice and copy v into it.

    \n+
    1.21.0 \u00b7 source\u00a7

    impl From<String> for Rc<str>

    source\u00a7

    fn from(v: String) -> Rc<str>

    Allocate a reference-counted string slice and copy v into it.

    \n
    \u00a7Example
    \n
    let original: String = \"statue\".to_owned();\n let shared: Rc<str> = Rc::from(original);\n assert_eq!(\"statue\", &shared[..]);
    Run
    \n-
    1.14.0 \u00b7 source\u00a7

    impl From<String> for Vec<u8>

    source\u00a7

    fn from(string: String) -> Vec<u8>

    Converts the given String to a vector Vec that holds values of type u8.

    \n+
    1.14.0 \u00b7 source\u00a7

    impl From<String> for Vec<u8>

    source\u00a7

    fn from(string: String) -> Vec<u8>

    Converts the given String to a vector Vec that holds values of type u8.

    \n
    \u00a7Examples
    \n
    let s1 = String::from(\"hello world\");\n let v1 = Vec::from(s1);\n \n for b in v1 {\n     println!(\"{b}\");\n }
    Run
    \n-
    1.46.0 \u00b7 source\u00a7

    impl From<char> for String

    source\u00a7

    fn from(c: char) -> Self

    Allocates an owned String from a single character.

    \n+
    1.46.0 \u00b7 source\u00a7

    impl From<char> for String

    source\u00a7

    fn from(c: char) -> Self

    Allocates an owned String from a single character.

    \n
    \u00a7Example
    \n
    let c: char = 'a';\n let s: String = String::from(c);\n assert_eq!(\"a\", &s[..]);
    Run
    \n-
    1.17.0 \u00b7 source\u00a7

    impl<'a> FromIterator<&'a char> for String

    source\u00a7

    fn from_iter<I: IntoIterator<Item = &'a char>>(iter: I) -> String

    Creates a value from an iterator. Read more
    source\u00a7

    impl<'a> FromIterator<&'a str> for String

    source\u00a7

    fn from_iter<I: IntoIterator<Item = &'a str>>(iter: I) -> String

    Creates a value from an iterator. Read more
    1.45.0 \u00b7 source\u00a7

    impl FromIterator<Box<str>> for String

    source\u00a7

    fn from_iter<I: IntoIterator<Item = Box<str>>>(iter: I) -> String

    Creates a value from an iterator. Read more
    1.19.0 \u00b7 source\u00a7

    impl<'a> FromIterator<Cow<'a, str>> for String

    source\u00a7

    fn from_iter<I: IntoIterator<Item = Cow<'a, str>>>(iter: I) -> String

    Creates a value from an iterator. Read more
    1.12.0 \u00b7 source\u00a7

    impl<'a> FromIterator<String> for Cow<'a, str>

    source\u00a7

    fn from_iter<I: IntoIterator<Item = String>>(it: I) -> Cow<'a, str>

    Creates a value from an iterator. Read more
    1.4.0 \u00b7 source\u00a7

    impl FromIterator<String> for String

    source\u00a7

    fn from_iter<I: IntoIterator<Item = String>>(iter: I) -> String

    Creates a value from an iterator. Read more
    source\u00a7

    impl FromIterator<char> for String

    source\u00a7

    fn from_iter<I: IntoIterator<Item = char>>(iter: I) -> String

    Creates a value from an iterator. Read more
    source\u00a7

    impl FromStr for String

    \u00a7

    type Err = Infallible

    The associated error which can be returned from parsing.
    source\u00a7

    fn from_str(s: &str) -> Result<String, Self::Err>

    Parses a string s to return a value of this type. Read more
    source\u00a7

    impl Hash for String

    source\u00a7

    fn hash<H: Hasher>(&self, hasher: &mut H)

    Feeds this value into the given Hasher. Read more
    1.3.0 \u00b7 source\u00a7

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n- H: Hasher,\n- Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source\u00a7

    impl<I> Index<I> for String
    where\n- I: SliceIndex<str>,

    \u00a7

    type Output = <I as SliceIndex<str>>::Output

    The returned type after indexing.
    source\u00a7

    fn index(&self, index: I) -> &I::Output

    Performs the indexing (container[index]) operation. Read more
    source\u00a7

    impl<I> IndexMut<I> for String
    where\n- I: SliceIndex<str>,

    source\u00a7

    fn index_mut(&mut self, index: I) -> &mut I::Output

    Performs the mutable indexing (container[index]) operation. Read more
    source\u00a7

    impl Ord for String

    source\u00a7

    fn cmp(&self, other: &String) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 \u00b7 source\u00a7

    fn max(self, other: Self) -> Self
    where\n- Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 \u00b7 source\u00a7

    fn min(self, other: Self) -> Self
    where\n- Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 \u00b7 source\u00a7

    fn clamp(self, min: Self, max: Self) -> Self
    where\n- Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source\u00a7

    impl<'a, 'b> PartialEq<&'a str> for String

    source\u00a7

    fn eq(&self, other: &&'a str) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &&'a str) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, 'b> PartialEq<Cow<'a, str>> for String

    source\u00a7

    fn eq(&self, other: &Cow<'a, str>) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &Cow<'a, str>) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, 'b> PartialEq<String> for &'a str

    source\u00a7

    fn eq(&self, other: &String) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &String) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, 'b> PartialEq<String> for Cow<'a, str>

    source\u00a7

    fn eq(&self, other: &String) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &String) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, 'b> PartialEq<String> for str

    source\u00a7

    fn eq(&self, other: &String) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &String) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, 'b> PartialEq<str> for String

    source\u00a7

    fn eq(&self, other: &str) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &str) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl PartialEq for String

    source\u00a7

    fn eq(&self, other: &String) -> bool

    This method tests for self and other values to be equal, and is used\n-by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl PartialOrd for String

    source\u00a7

    fn partial_cmp(&self, other: &String) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source\u00a7

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source\u00a7

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\n-operator. Read more
    source\u00a7

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    source\u00a7

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\n-operator. Read more
    source\u00a7

    impl<'a, 'b> Pattern<'a> for &'b String

    A convenience impl that delegates to the impl for &str.

    \n+
    1.17.0 \u00b7 source\u00a7

    impl<'a> FromIterator<&'a char> for String

    source\u00a7

    fn from_iter<I: IntoIterator<Item = &'a char>>(iter: I) -> String

    Creates a value from an iterator. Read more
    source\u00a7

    impl<'a> FromIterator<&'a str> for String

    source\u00a7

    fn from_iter<I: IntoIterator<Item = &'a str>>(iter: I) -> String

    Creates a value from an iterator. Read more
    1.45.0 \u00b7 source\u00a7

    impl FromIterator<Box<str>> for String

    source\u00a7

    fn from_iter<I: IntoIterator<Item = Box<str>>>(iter: I) -> String

    Creates a value from an iterator. Read more
    1.19.0 \u00b7 source\u00a7

    impl<'a> FromIterator<Cow<'a, str>> for String

    source\u00a7

    fn from_iter<I: IntoIterator<Item = Cow<'a, str>>>(iter: I) -> String

    Creates a value from an iterator. Read more
    1.12.0 \u00b7 source\u00a7

    impl<'a> FromIterator<String> for Cow<'a, str>

    source\u00a7

    fn from_iter<I: IntoIterator<Item = String>>(it: I) -> Cow<'a, str>

    Creates a value from an iterator. Read more
    1.4.0 \u00b7 source\u00a7

    impl FromIterator<String> for String

    source\u00a7

    fn from_iter<I: IntoIterator<Item = String>>(iter: I) -> String

    Creates a value from an iterator. Read more
    source\u00a7

    impl FromIterator<char> for String

    source\u00a7

    fn from_iter<I: IntoIterator<Item = char>>(iter: I) -> String

    Creates a value from an iterator. Read more
    source\u00a7

    impl FromStr for String

    \u00a7

    type Err = Infallible

    The associated error which can be returned from parsing.
    source\u00a7

    fn from_str(s: &str) -> Result<String, Self::Err>

    Parses a string s to return a value of this type. Read more
    source\u00a7

    impl Hash for String

    source\u00a7

    fn hash<H: Hasher>(&self, hasher: &mut H)

    Feeds this value into the given Hasher. Read more
    1.3.0 \u00b7 source\u00a7

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n+ H: Hasher,\n+ Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source\u00a7

    impl<I> Index<I> for String
    where\n+ I: SliceIndex<str>,

    \u00a7

    type Output = <I as SliceIndex<str>>::Output

    The returned type after indexing.
    source\u00a7

    fn index(&self, index: I) -> &I::Output

    Performs the indexing (container[index]) operation. Read more
    source\u00a7

    impl<I> IndexMut<I> for String
    where\n+ I: SliceIndex<str>,

    source\u00a7

    fn index_mut(&mut self, index: I) -> &mut I::Output

    Performs the mutable indexing (container[index]) operation. Read more
    source\u00a7

    impl Ord for String

    source\u00a7

    fn cmp(&self, other: &String) -> Ordering

    This method returns an Ordering between self and other. Read more
    1.21.0 \u00b7 source\u00a7

    fn max(self, other: Self) -> Self
    where\n+ Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 \u00b7 source\u00a7

    fn min(self, other: Self) -> Self
    where\n+ Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 \u00b7 source\u00a7

    fn clamp(self, min: Self, max: Self) -> Self
    where\n+ Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source\u00a7

    impl<'a, 'b> PartialEq<&'a str> for String

    source\u00a7

    fn eq(&self, other: &&'a str) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &&'a str) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, 'b> PartialEq<Cow<'a, str>> for String

    source\u00a7

    fn eq(&self, other: &Cow<'a, str>) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &Cow<'a, str>) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, 'b> PartialEq<String> for &'a str

    source\u00a7

    fn eq(&self, other: &String) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &String) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, 'b> PartialEq<String> for Cow<'a, str>

    source\u00a7

    fn eq(&self, other: &String) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &String) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, 'b> PartialEq<String> for str

    source\u00a7

    fn eq(&self, other: &String) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &String) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl<'a, 'b> PartialEq<str> for String

    source\u00a7

    fn eq(&self, other: &str) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &str) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl PartialEq for String

    source\u00a7

    fn eq(&self, other: &String) -> bool

    This method tests for self and other values to be equal, and is used\n+by ==.
    source\u00a7

    fn ne(&self, other: &Rhs) -> bool

    This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
    source\u00a7

    impl PartialOrd for String

    source\u00a7

    fn partial_cmp(&self, other: &String) -> Option<Ordering>

    This method returns an ordering between self and other values if one exists. Read more
    source\u00a7

    fn lt(&self, other: &Rhs) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source\u00a7

    fn le(&self, other: &Rhs) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\n+operator. Read more
    source\u00a7

    fn gt(&self, other: &Rhs) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    source\u00a7

    fn ge(&self, other: &Rhs) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\n+operator. Read more
    source\u00a7

    impl<'a, 'b> Pattern<'a> for &'b String

    A convenience impl that delegates to the impl for &str.

    \n

    \u00a7Examples

    \n
    assert_eq!(String::from(\"Hello world\").find(\"world\"), Some(6));
    Run
    \n-
    \u00a7

    type Searcher = <&'b str as Pattern<'a>>::Searcher

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Associated searcher for this pattern
    source\u00a7

    fn into_searcher(self, haystack: &'a str) -> <&'b str as Pattern<'a>>::Searcher

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Constructs the associated searcher from\n-self and the haystack to search in.
    source\u00a7

    fn is_contained_in(self, haystack: &'a str) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Checks whether the pattern matches anywhere in the haystack
    source\u00a7

    fn is_prefix_of(self, haystack: &'a str) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Checks whether the pattern matches at the front of the haystack
    source\u00a7

    fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Removes the pattern from the front of haystack, if it matches.
    source\u00a7

    fn is_suffix_of(self, haystack: &'a str) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Checks whether the pattern matches at the back of the haystack
    source\u00a7

    fn strip_suffix_of(self, haystack: &'a str) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Removes the pattern from the back of haystack, if it matches.
    source\u00a7

    impl Write for String

    source\u00a7

    fn write_str(&mut self, s: &str) -> Result

    Writes a string slice into this writer, returning whether the write\n-succeeded. Read more
    source\u00a7

    fn write_char(&mut self, c: char) -> Result

    Writes a char into this writer, returning whether the write succeeded. Read more
    source\u00a7

    fn write_fmt(&mut self, args: Arguments<'_>) -> Result<(), Error>

    Glue for usage of the write! macro with implementors of this trait. Read more
    source\u00a7

    impl Eq for String

    source\u00a7

    impl StructuralPartialEq for String

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+
    \u00a7

    type Searcher = <&'b str as Pattern<'a>>::Searcher

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Associated searcher for this pattern
    source\u00a7

    fn into_searcher(self, haystack: &'a str) -> <&'b str as Pattern<'a>>::Searcher

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Constructs the associated searcher from\n+self and the haystack to search in.
    source\u00a7

    fn is_contained_in(self, haystack: &'a str) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Checks whether the pattern matches anywhere in the haystack
    source\u00a7

    fn is_prefix_of(self, haystack: &'a str) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Checks whether the pattern matches at the front of the haystack
    source\u00a7

    fn strip_prefix_of(self, haystack: &'a str) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Removes the pattern from the front of haystack, if it matches.
    source\u00a7

    fn is_suffix_of(self, haystack: &'a str) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Checks whether the pattern matches at the back of the haystack
    source\u00a7

    fn strip_suffix_of(self, haystack: &'a str) -> Option<&'a str>

    \ud83d\udd2cThis is a nightly-only experimental API. (pattern #27721)
    Removes the pattern from the back of haystack, if it matches.
    source\u00a7

    impl Write for String

    source\u00a7

    fn write_str(&mut self, s: &str) -> Result

    Writes a string slice into this writer, returning whether the write\n+succeeded. Read more
    source\u00a7

    fn write_char(&mut self, c: char) -> Result

    Writes a char into this writer, returning whether the write succeeded. Read more
    source\u00a7

    fn write_fmt(&mut self, args: Arguments<'_>) -> Result<(), Error>

    Glue for usage of the write! macro with implementors of this trait. Read more
    source\u00a7

    impl Eq for String

    source\u00a7

    impl StructuralPartialEq for String

    Auto Trait Implementations\u00a7

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n- T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n+ T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/string/trait.ToString.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/string/trait.ToString.html", "unified_diff": "@@ -9,13 +9,13 @@\n implementation for free.

    \n

    Required Methods\u00a7

    source

    fn to_string(&self) -> String

    Converts the given value to a String.

    \n
    \u00a7Examples
    \n
    let i = 5;\n let five = String::from(\"5\");\n \n assert_eq!(five, i.to_string());
    Run
    \n-

    Implementors\u00a7

    source\u00a7

    impl<T: Display + ?Sized> ToString for T

    \u00a7Panics

    \n+

    Implementors\u00a7

    source\u00a7

    impl<T: Display + ?Sized> ToString for T

    \u00a7Panics

    \n

    In this implementation, the to_string method panics\n if the Display implementation returns an error.\n This indicates an incorrect Display implementation\n since fmt::Write for String never returns an error itself.

    \n
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/string/type.ParseError.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/string/type.ParseError.html", "unified_diff": "@@ -1,4 +1,4 @@\n ParseError in alloc::string - Rust
    \n-

    Type Alias alloc::string::ParseError

    1.5.0 \u00b7 source \u00b7
    pub type ParseError = Infallible;
    Expand description

    A type alias for Infallible.

    \n+

    Type Alias alloc::string::ParseError

    1.5.0 \u00b7 source \u00b7
    pub type ParseError = Infallible;
    Expand description

    A type alias for Infallible.

    \n

    This alias exists for backwards compatibility, and may be eventually deprecated.

    \n

    Aliased Type\u00a7

    enum ParseError {}

    Variants\u00a7

    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/sync/index.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/sync/index.html", "unified_diff": "@@ -3,8 +3,8 @@\n

    See the Arc<T> documentation for more details.

    \n

    Note: This module is only available on platforms that support atomic\n loads and stores of pointers. This may be detected at compile time using\n #[cfg(target_has_atomic = "ptr")].

    \n

    Structs\u00a7

    • A thread-safe reference-counting pointer. \u2018Arc\u2019 stands for \u2018Atomically\n Reference Counted\u2019.
    • Weak is a version of Arc that holds a non-owning reference to the\n managed allocation. The allocation is accessed by calling upgrade on the Weak\n-pointer, which returns an Option<Arc<T>>.
    \n+pointer, which returns an Option<Arc<T>>.\n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/sync/struct.Arc.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/sync/struct.Arc.html", "unified_diff": "@@ -1,50 +1,50 @@\n Arc in alloc::sync - Rust
    \n-

    Struct alloc::sync::Arc

    1.0.0 \u00b7 source \u00b7
    pub struct Arc<T: ?Sized, A: Allocator = Global> { /* private fields */ }
    Expand description

    A thread-safe reference-counting pointer. \u2018Arc\u2019 stands for \u2018Atomically\n+

    Struct alloc::sync::Arc

    1.0.0 \u00b7 source \u00b7
    pub struct Arc<T: ?Sized, A: Allocator = Global> { /* private fields */ }
    Expand description

    A thread-safe reference-counting pointer. \u2018Arc\u2019 stands for \u2018Atomically\n Reference Counted\u2019.

    \n

    The type Arc<T> provides shared ownership of a value of type T,\n-allocated in the heap. Invoking clone on Arc produces\n+allocated in the heap. Invoking clone on Arc produces\n a new Arc instance, which points to the same allocation on the heap as the\n source Arc, while increasing a reference count. When the last Arc\n pointer to a given allocation is destroyed, the value stored in that allocation (often\n referred to as \u201cinner value\u201d) is also dropped.

    \n

    Shared references in Rust disallow mutation by default, and Arc is no\n exception: you cannot generally obtain a mutable reference to something\n inside an Arc. If you need to mutate through an Arc, use\n-Mutex, RwLock, or one of the Atomic\n+Mutex, RwLock, or one of the Atomic\n types.

    \n

    Note: This type is only available on platforms that support atomic\n loads and stores of pointers, which includes all platforms that support\n the std crate but not all those which only support alloc.\n This may be detected at compile time using #[cfg(target_has_atomic = "ptr")].

    \n

    \u00a7Thread Safety

    \n

    Unlike Rc<T>, Arc<T> uses atomic operations for its reference\n counting. This means that it is thread-safe. The disadvantage is that\n atomic operations are more expensive than ordinary memory accesses. If you\n are not sharing reference-counted allocations between threads, consider using\n Rc<T> for lower overhead. Rc<T> is a safe default, because the\n compiler will catch any attempt to send an Rc<T> between threads.\n However, a library might choose Arc<T> in order to give library consumers\n more flexibility.

    \n-

    Arc<T> will implement Send and Sync as long as the T implements\n-Send and Sync. Why can\u2019t you put a non-thread-safe type T in an\n+

    Arc<T> will implement Send and Sync as long as the T implements\n+Send and Sync. Why can\u2019t you put a non-thread-safe type T in an\n Arc<T> to make it thread-safe? This may be a bit counter-intuitive at\n first: after all, isn\u2019t the point of Arc<T> thread safety? The key is\n this: Arc<T> makes it thread safe to have multiple ownership of the same\n data, but it doesn\u2019t add thread safety to its data. Consider\n-Arc<RefCell<T>>. RefCell<T> isn\u2019t Sync, and if Arc<T> was always\n-Send, Arc<RefCell<T>> would be as well. But then we\u2019d have a problem:\n-RefCell<T> is not thread safe; it keeps track of the borrowing count using\n+Arc<RefCell<T>>. RefCell<T> isn\u2019t Sync, and if Arc<T> was always\n+Send, Arc<RefCell<T>> would be as well. But then we\u2019d have a problem:\n+RefCell<T> is not thread safe; it keeps track of the borrowing count using\n non-atomic operations.

    \n

    In the end, this means that you may need to pair Arc<T> with some sort of\n std::sync type, usually Mutex<T>.

    \n

    \u00a7Breaking cycles with Weak

    \n

    The downgrade method can be used to create a non-owning\n Weak pointer. A Weak pointer can be upgraded\n-to an Arc, but this will return None if the value stored in the allocation has\n+to an Arc, but this will return None if the value stored in the allocation has\n already been dropped. In other words, Weak pointers do not keep the value\n inside the allocation alive; however, they do keep the allocation\n (the backing store for the value) alive.

    \n

    A cycle between Arc pointers will never be deallocated. For this reason,\n Weak is used to break cycles. For example, a tree could have\n strong Arc pointers from parent nodes to children, and Weak\n pointers from children back to their parents.

    \n@@ -55,15 +55,15 @@\n
    use std::sync::Arc;\n let foo = Arc::new(vec![1.0, 2.0, 3.0]);\n // The two syntaxes below are equivalent.\n let a = foo.clone();\n let b = Arc::clone(&foo);\n // a, b, and foo are all Arcs that point to the same memory location
    Run
    \n

    \u00a7Deref behavior

    \n-

    Arc<T> automatically dereferences to T (via the Deref trait),\n+

    Arc<T> automatically dereferences to T (via the Deref trait),\n so you can call T\u2019s methods on a value of type Arc<T>. To avoid name\n clashes with T\u2019s methods, the methods of Arc<T> itself are associated\n functions, called using fully qualified syntax:

    \n \n
    use std::sync::Arc;\n \n let my_arc = Arc::new(());\n@@ -92,15 +92,15 @@\n for _ in 0..10 {\n     let five = Arc::clone(&five);\n \n     thread::spawn(move || {\n         println!(\"{five:?}\");\n     });\n }
    Run
    \n-

    Sharing a mutable AtomicUsize:

    \n+

    Sharing a mutable AtomicUsize:

    \n \n
    use std::sync::Arc;\n use std::sync::atomic::{AtomicUsize, Ordering};\n use std::thread;\n \n let val = Arc::new(AtomicUsize::new(5));\n \n@@ -116,15 +116,15 @@\n counting in general.

    \n

    Implementations\u00a7

    source\u00a7

    impl<T> Arc<T>

    source

    pub fn new(data: T) -> Arc<T>

    Constructs a new Arc<T>.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n \n let five = Arc::new(5);
    Run
    \n
    1.60.0 \u00b7 source

    pub fn new_cyclic<F>(data_fn: F) -> Arc<T>
    where\n- F: FnOnce(&Weak<T>) -> T,

    Constructs a new Arc<T> while giving you a Weak<T> to the allocation,\n+ F: FnOnce(&Weak<T>) -> T,

    Constructs a new Arc<T> while giving you a Weak<T> to the allocation,\n to allow you to construct a T which holds a weak pointer to itself.

    \n

    Generally, a structure circularly referencing itself, either directly or\n indirectly, should not hold a strong reference to itself to prevent a memory leak.\n Using this function, you get access to the weak pointer during the\n initialization of T, before the Arc<T> is created, such that you can\n clone and store it inside the T.

    \n

    new_cyclic first allocates the managed allocation for the Arc<T>,\n@@ -156,52 +156,52 @@\n }\n \n /// Return a reference counted pointer to Self.\n fn me(&self) -> Arc<Self> {\n self.me.upgrade().unwrap()\n }\n }Run

    \n-
    source

    pub fn new_uninit() -> Arc<MaybeUninit<T>>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new Arc with uninitialized contents.

    \n+
    source

    pub fn new_uninit() -> Arc<MaybeUninit<T>>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new Arc with uninitialized contents.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n #![feature(get_mut_unchecked)]\n \n use std::sync::Arc;\n \n let mut five = Arc::<u32>::new_uninit();\n \n // Deferred initialization:\n Arc::get_mut(&mut five).unwrap().write(5);\n \n let five = unsafe { five.assume_init() };\n \n assert_eq!(*five, 5)
    Run
    \n-
    source

    pub fn new_zeroed() -> Arc<MaybeUninit<T>>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new Arc with uninitialized contents, with the memory\n+

    source

    pub fn new_zeroed() -> Arc<MaybeUninit<T>>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new Arc with uninitialized contents, with the memory\n being filled with 0 bytes.

    \n-

    See MaybeUninit::zeroed for examples of correct and incorrect usage\n+

    See MaybeUninit::zeroed for examples of correct and incorrect usage\n of this method.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n \n use std::sync::Arc;\n \n let zero = Arc::<u32>::new_zeroed();\n let zero = unsafe { zero.assume_init() };\n \n assert_eq!(*zero, 0)
    Run
    \n-
    1.33.0 \u00b7 source

    pub fn pin(data: T) -> Pin<Arc<T>>

    Constructs a new Pin<Arc<T>>. If T does not implement Unpin, then\n+

    1.33.0 \u00b7 source

    pub fn pin(data: T) -> Pin<Arc<T>>

    Constructs a new Pin<Arc<T>>. If T does not implement Unpin, then\n data will be pinned in memory and unable to be moved.

    \n-
    source

    pub fn try_pin(data: T) -> Result<Pin<Arc<T>>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Pin<Arc<T>>, return an error if allocation fails.

    \n-
    source

    pub fn try_new(data: T) -> Result<Arc<T>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Arc<T>, returning an error if allocation fails.

    \n+
    source

    pub fn try_pin(data: T) -> Result<Pin<Arc<T>>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Pin<Arc<T>>, return an error if allocation fails.

    \n+
    source

    pub fn try_new(data: T) -> Result<Arc<T>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Arc<T>, returning an error if allocation fails.

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api)]\n use std::sync::Arc;\n \n let five = Arc::try_new(5)?;
    Run
    \n-
    source

    pub fn try_new_uninit() -> Result<Arc<MaybeUninit<T>>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Arc with uninitialized contents, returning an error\n+

    source

    pub fn try_new_uninit() -> Result<Arc<MaybeUninit<T>>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Arc with uninitialized contents, returning an error\n if allocation fails.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit, allocator_api)]\n #![feature(get_mut_unchecked)]\n \n use std::sync::Arc;\n \n@@ -209,40 +209,40 @@\n \n // Deferred initialization:\n Arc::get_mut(&mut five).unwrap().write(5);\n \n let five = unsafe { five.assume_init() };\n \n assert_eq!(*five, 5);
    Run
    \n-
    source

    pub fn try_new_zeroed() -> Result<Arc<MaybeUninit<T>>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Arc with uninitialized contents, with the memory\n+

    source

    pub fn try_new_zeroed() -> Result<Arc<MaybeUninit<T>>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Arc with uninitialized contents, with the memory\n being filled with 0 bytes, returning an error if allocation fails.

    \n-

    See MaybeUninit::zeroed for examples of correct and incorrect usage\n+

    See MaybeUninit::zeroed for examples of correct and incorrect usage\n of this method.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit, allocator_api)]\n \n use std::sync::Arc;\n \n let zero = Arc::<u32>::try_new_zeroed()?;\n let zero = unsafe { zero.assume_init() };\n \n assert_eq!(*zero, 0);
    Run
    \n-
    source\u00a7

    impl<T, A: Allocator> Arc<T, A>

    source

    pub fn allocator(this: &Self) -> &A

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Returns a reference to the underlying allocator.

    \n+
    source\u00a7

    impl<T, A: Allocator> Arc<T, A>

    source

    pub fn allocator(this: &Self) -> &A

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Returns a reference to the underlying allocator.

    \n

    Note: this is an associated function, which means that you have\n to call it as Arc::allocator(&a) instead of a.allocator(). This\n is so that there is no conflict with a method on the inner type.

    \n
    source

    pub fn new_in(data: T, alloc: A) -> Arc<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Arc<T> in the provided allocator.

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api)]\n \n use std::sync::Arc;\n use std::alloc::System;\n \n let five = Arc::new_in(5, System);
    Run
    \n-
    source

    pub fn new_uninit_in(alloc: A) -> Arc<MaybeUninit<T>, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Arc with uninitialized contents in the provided allocator.

    \n+
    source

    pub fn new_uninit_in(alloc: A) -> Arc<MaybeUninit<T>, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Arc with uninitialized contents in the provided allocator.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n #![feature(get_mut_unchecked)]\n #![feature(allocator_api)]\n \n use std::sync::Arc;\n use std::alloc::System;\n@@ -253,42 +253,42 @@\n     // Deferred initialization:\n     Arc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n \n     five.assume_init()\n };\n \n assert_eq!(*five, 5)
    Run
    \n-
    source

    pub fn new_zeroed_in(alloc: A) -> Arc<MaybeUninit<T>, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Arc with uninitialized contents, with the memory\n+

    source

    pub fn new_zeroed_in(alloc: A) -> Arc<MaybeUninit<T>, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Arc with uninitialized contents, with the memory\n being filled with 0 bytes, in the provided allocator.

    \n-

    See MaybeUninit::zeroed for examples of correct and incorrect usage\n+

    See MaybeUninit::zeroed for examples of correct and incorrect usage\n of this method.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n #![feature(allocator_api)]\n \n use std::sync::Arc;\n use std::alloc::System;\n \n let zero = Arc::<u32, _>::new_zeroed_in(System);\n let zero = unsafe { zero.assume_init() };\n \n assert_eq!(*zero, 0)
    Run
    \n-
    source

    pub fn pin_in(data: T, alloc: A) -> Pin<Arc<T, A>>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Pin<Arc<T, A>> in the provided allocator. If T does not implement Unpin,\n+

    source

    pub fn pin_in(data: T, alloc: A) -> Pin<Arc<T, A>>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Pin<Arc<T, A>> in the provided allocator. If T does not implement Unpin,\n then data will be pinned in memory and unable to be moved.

    \n-
    source

    pub fn try_pin_in(data: T, alloc: A) -> Result<Pin<Arc<T, A>>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Pin<Arc<T, A>> in the provided allocator, return an error if allocation\n+

    source

    pub fn try_pin_in(data: T, alloc: A) -> Result<Pin<Arc<T, A>>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Pin<Arc<T, A>> in the provided allocator, return an error if allocation\n fails.

    \n-
    source

    pub fn try_new_in(data: T, alloc: A) -> Result<Arc<T, A>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Arc<T, A> in the provided allocator, returning an error if allocation fails.

    \n+
    source

    pub fn try_new_in(data: T, alloc: A) -> Result<Arc<T, A>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Arc<T, A> in the provided allocator, returning an error if allocation fails.

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api)]\n \n use std::sync::Arc;\n use std::alloc::System;\n \n let five = Arc::try_new_in(5, System)?;
    Run
    \n-
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Arc<MaybeUninit<T>, A>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Arc with uninitialized contents, in the provided allocator, returning an\n+

    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Arc<MaybeUninit<T>, A>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Arc with uninitialized contents, in the provided allocator, returning an\n error if allocation fails.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit, allocator_api)]\n #![feature(get_mut_unchecked)]\n \n use std::sync::Arc;\n use std::alloc::System;\n@@ -299,62 +299,62 @@\n     // Deferred initialization:\n     Arc::get_mut_unchecked(&mut five).as_mut_ptr().write(5);\n \n     five.assume_init()\n };\n \n assert_eq!(*five, 5);
    Run
    \n-
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Arc<MaybeUninit<T>, A>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Arc with uninitialized contents, with the memory\n+

    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Arc<MaybeUninit<T>, A>, AllocError>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Arc with uninitialized contents, with the memory\n being filled with 0 bytes, in the provided allocator, returning an error if allocation\n fails.

    \n-

    See MaybeUninit::zeroed for examples of correct and incorrect usage\n+

    See MaybeUninit::zeroed for examples of correct and incorrect usage\n of this method.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit, allocator_api)]\n \n use std::sync::Arc;\n use std::alloc::System;\n \n let zero = Arc::<u32, _>::try_new_zeroed_in(System)?;\n let zero = unsafe { zero.assume_init() };\n \n assert_eq!(*zero, 0);
    Run
    \n-
    1.4.0 \u00b7 source

    pub fn try_unwrap(this: Self) -> Result<T, Self>

    Returns the inner value, if the Arc has exactly one strong reference.

    \n-

    Otherwise, an Err is returned with the same Arc that was\n+

    1.4.0 \u00b7 source

    pub fn try_unwrap(this: Self) -> Result<T, Self>

    Returns the inner value, if the Arc has exactly one strong reference.

    \n+

    Otherwise, an Err is returned with the same Arc that was\n passed in.

    \n

    This will succeed even if there are outstanding weak references.

    \n

    It is strongly recommended to use Arc::into_inner instead if you don\u2019t\n-want to keep the Arc in the Err case.\n-Immediately dropping the Err payload, like in the expression\n+want to keep the Arc in the Err case.\n+Immediately dropping the Err payload, like in the expression\n Arc::try_unwrap(this).ok(), can still cause the strong count to\n drop to zero and the inner value of the Arc to be dropped:\n For instance if two threads each execute this expression in parallel, then\n there is a race condition. The threads could first both check whether they\n have the last clone of their Arc via Arc::try_unwrap, and then\n-both drop their Arc in the call to ok,\n+both drop their Arc in the call to ok,\n taking the strong count from two down to zero.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n \n let x = Arc::new(3);\n assert_eq!(Arc::try_unwrap(x), Ok(3));\n \n let x = Arc::new(4);\n let _y = Arc::clone(&x);\n assert_eq!(*Arc::try_unwrap(x).unwrap_err(), 4);
    Run
    \n-
    1.70.0 \u00b7 source

    pub fn into_inner(this: Self) -> Option<T>

    Returns the inner value, if the Arc has exactly one strong reference.

    \n-

    Otherwise, None is returned and the Arc is dropped.

    \n+
    1.70.0 \u00b7 source

    pub fn into_inner(this: Self) -> Option<T>

    Returns the inner value, if the Arc has exactly one strong reference.

    \n+

    Otherwise, None is returned and the Arc is dropped.

    \n

    This will succeed even if there are outstanding weak references.

    \n

    If Arc::into_inner is called on every clone of this Arc,\n it is guaranteed that exactly one of the calls returns the inner value.\n This means in particular that the inner value is not dropped.

    \n

    Arc::try_unwrap is conceptually similar to Arc::into_inner, but it\n is meant for different use-cases. If used as a direct replacement\n for Arc::into_inner anyway, such as with the expression\n-Arc::try_unwrap(this).ok(), then it does\n+Arc::try_unwrap(this).ok(), then it does\n not give the same guarantee as described in the previous paragraph.\n For more information, see the examples below and read the documentation\n of Arc::try_unwrap.

    \n
    \u00a7Examples
    \n

    Minimal example demonstrating the guarantee that Arc::into_inner gives.

    \n \n
    use std::sync::Arc;\n@@ -416,15 +416,15 @@\n let y = x.clone();\n \n // Drop the clones in parallel\n let x_thread = std::thread::spawn(|| drop(x));\n let y_thread = std::thread::spawn(|| drop(y));\n x_thread.join().unwrap();\n y_thread.join().unwrap();
    Run
    \n-
    source\u00a7

    impl<T> Arc<[T]>

    source

    pub fn new_uninit_slice(len: usize) -> Arc<[MaybeUninit<T>]>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new atomically reference-counted slice with uninitialized contents.

    \n+
    source\u00a7

    impl<T> Arc<[T]>

    source

    pub fn new_uninit_slice(len: usize) -> Arc<[MaybeUninit<T>]>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new atomically reference-counted slice with uninitialized contents.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n #![feature(get_mut_unchecked)]\n \n use std::sync::Arc;\n \n let mut values = Arc::<[u32]>::new_uninit_slice(3);\n@@ -434,28 +434,28 @@\n data[0].write(1);\n data[1].write(2);\n data[2].write(3);\n \n let values = unsafe { values.assume_init() };\n \n assert_eq!(*values, [1, 2, 3])
    Run
    \n-
    source

    pub fn new_zeroed_slice(len: usize) -> Arc<[MaybeUninit<T>]>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new atomically reference-counted slice with uninitialized contents, with the memory being\n+

    source

    pub fn new_zeroed_slice(len: usize) -> Arc<[MaybeUninit<T>]>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new atomically reference-counted slice with uninitialized contents, with the memory being\n filled with 0 bytes.

    \n-

    See MaybeUninit::zeroed for examples of correct and\n+

    See MaybeUninit::zeroed for examples of correct and\n incorrect usage of this method.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n \n use std::sync::Arc;\n \n let values = Arc::<[u32]>::new_zeroed_slice(3);\n let values = unsafe { values.assume_init() };\n \n assert_eq!(*values, [0, 0, 0])
    Run
    \n-
    source\u00a7

    impl<T, A: Allocator> Arc<[T], A>

    source

    pub fn new_uninit_slice_in(len: usize, alloc: A) -> Arc<[MaybeUninit<T>], A>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new atomically reference-counted slice with uninitialized contents in the\n+

    source\u00a7

    impl<T, A: Allocator> Arc<[T], A>

    source

    pub fn new_uninit_slice_in(len: usize, alloc: A) -> Arc<[MaybeUninit<T>], A>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new atomically reference-counted slice with uninitialized contents in the\n provided allocator.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n #![feature(get_mut_unchecked)]\n #![feature(allocator_api)]\n \n use std::sync::Arc;\n@@ -469,32 +469,32 @@\n     Arc::get_mut_unchecked(&mut values)[1].as_mut_ptr().write(2);\n     Arc::get_mut_unchecked(&mut values)[2].as_mut_ptr().write(3);\n \n     values.assume_init()\n };\n \n assert_eq!(*values, [1, 2, 3])
    Run
    \n-
    source

    pub fn new_zeroed_slice_in(len: usize, alloc: A) -> Arc<[MaybeUninit<T>], A>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new atomically reference-counted slice with uninitialized contents, with the memory being\n+

    source

    pub fn new_zeroed_slice_in(len: usize, alloc: A) -> Arc<[MaybeUninit<T>], A>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Constructs a new atomically reference-counted slice with uninitialized contents, with the memory being\n filled with 0 bytes, in the provided allocator.

    \n-

    See MaybeUninit::zeroed for examples of correct and\n+

    See MaybeUninit::zeroed for examples of correct and\n incorrect usage of this method.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n #![feature(allocator_api)]\n \n use std::sync::Arc;\n use std::alloc::System;\n \n let values = Arc::<[u32], _>::new_zeroed_slice_in(3, System);\n let values = unsafe { values.assume_init() };\n \n assert_eq!(*values, [0, 0, 0])
    Run
    \n-
    source\u00a7

    impl<T, A: Allocator> Arc<MaybeUninit<T>, A>

    source

    pub unsafe fn assume_init(self) -> Arc<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Converts to Arc<T>.

    \n+
    source\u00a7

    impl<T, A: Allocator> Arc<MaybeUninit<T>, A>

    source

    pub unsafe fn assume_init(self) -> Arc<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Converts to Arc<T>.

    \n
    \u00a7Safety
    \n-

    As with MaybeUninit::assume_init,\n+

    As with MaybeUninit::assume_init,\n it is up to the caller to guarantee that the inner value\n really is in an initialized state.\n Calling this when the content is not yet fully initialized\n causes immediate undefined behavior.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n #![feature(get_mut_unchecked)]\n@@ -505,17 +505,17 @@\n \n // Deferred initialization:\n Arc::get_mut(&mut five).unwrap().write(5);\n \n let five = unsafe { five.assume_init() };\n \n assert_eq!(*five, 5)
    Run
    \n-
    source\u00a7

    impl<T, A: Allocator> Arc<[MaybeUninit<T>], A>

    source

    pub unsafe fn assume_init(self) -> Arc<[T], A>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Converts to Arc<[T]>.

    \n+
    source\u00a7

    impl<T, A: Allocator> Arc<[MaybeUninit<T>], A>

    source

    pub unsafe fn assume_init(self) -> Arc<[T], A>

    \ud83d\udd2cThis is a nightly-only experimental API. (new_uninit #63291)

    Converts to Arc<[T]>.

    \n
    \u00a7Safety
    \n-

    As with MaybeUninit::assume_init,\n+

    As with MaybeUninit::assume_init,\n it is up to the caller to guarantee that the inner value\n really is in an initialized state.\n Calling this when the content is not yet fully initialized\n causes immediate undefined behavior.

    \n
    \u00a7Examples
    \n
    #![feature(new_uninit)]\n #![feature(get_mut_unchecked)]\n@@ -529,28 +529,28 @@\n data[0].write(1);\n data[1].write(2);\n data[2].write(3);\n \n let values = unsafe { values.assume_init() };\n \n assert_eq!(*values, [1, 2, 3])
    Run
    \n-
    source\u00a7

    impl<T: ?Sized> Arc<T>

    1.17.0 \u00b7 source

    pub unsafe fn from_raw(ptr: *const T) -> Self

    Constructs an Arc<T> from a raw pointer.

    \n+
    source\u00a7

    impl<T: ?Sized> Arc<T>

    1.17.0 \u00b7 source

    pub unsafe fn from_raw(ptr: *const T) -> Self

    Constructs an Arc<T> from a raw pointer.

    \n

    The raw pointer must have been previously returned by a call to\n Arc<U>::into_raw with the following requirements:

    \n
      \n
    • If U is sized, it must have the same size and alignment as T. This\n is trivially true if U is T.
    • \n
    • If U is unsized, its data pointer must have the same size and\n alignment as T. This is trivially true if Arc<U> was constructed\n through Arc<T> and then converted to Arc<U> through an unsized\n coercion.
    • \n
    \n

    Note that if U or U\u2019s data pointer is not T but has the same size\n and alignment, this is basically like transmuting references of\n-different types. See mem::transmute for more information\n+different types. See mem::transmute for more information\n on what restrictions apply in this case.

    \n

    The user of from_raw has to make sure a specific value of T is only\n dropped once.

    \n

    This function is unsafe because improper use may lead to memory unsafety,\n even if the returned Arc<T> is never accessed.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n@@ -574,15 +574,15 @@\n let x: Arc<[u32]> = Arc::new([1, 2, 3]);\n let x_ptr: *const [u32] = Arc::into_raw(x);\n \n unsafe {\n     let x: Arc<[u32; 3]> = Arc::from_raw(x_ptr.cast::<[u32; 3]>());\n     assert_eq!(&*x, &[1, 2, 3]);\n }
    Run
    \n-
    1.51.0 \u00b7 source

    pub unsafe fn increment_strong_count(ptr: *const T)

    Increments the strong reference count on the Arc<T> associated with the\n+

    1.51.0 \u00b7 source

    pub unsafe fn increment_strong_count(ptr: *const T)

    Increments the strong reference count on the Arc<T> associated with the\n provided pointer by one.

    \n
    \u00a7Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\n associated Arc instance must be valid (i.e. the strong count must be at\n least 1) for the duration of this method.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n@@ -594,15 +594,15 @@\n     Arc::increment_strong_count(ptr);\n \n     // This assertion is deterministic because we haven't shared\n     // the `Arc` between threads.\n     let five = Arc::from_raw(ptr);\n     assert_eq!(2, Arc::strong_count(&five));\n }
    Run
    \n-
    1.51.0 \u00b7 source

    pub unsafe fn decrement_strong_count(ptr: *const T)

    Decrements the strong reference count on the Arc<T> associated with the\n+

    1.51.0 \u00b7 source

    pub unsafe fn decrement_strong_count(ptr: *const T)

    Decrements the strong reference count on the Arc<T> associated with the\n provided pointer by one.

    \n
    \u00a7Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\n associated Arc instance must be valid (i.e. the strong count must be at\n least 1) when invoking this method. This method can be used to release the final\n Arc and backing storage, but should not be called after the final Arc has been\n released.

    \n@@ -618,47 +618,47 @@\n // Those assertions are deterministic because we haven't shared\n // the `Arc` between threads.\n let five = Arc::from_raw(ptr);\n assert_eq!(2, Arc::strong_count(&five));\n Arc::decrement_strong_count(ptr);\n assert_eq!(1, Arc::strong_count(&five));\n }Run
    \n-
    source\u00a7

    impl<T: ?Sized, A: Allocator> Arc<T, A>

    1.17.0 \u00b7 source

    pub fn into_raw(this: Self) -> *const T

    Consumes the Arc, returning the wrapped pointer.

    \n+
    source\u00a7

    impl<T: ?Sized, A: Allocator> Arc<T, A>

    1.17.0 \u00b7 source

    pub fn into_raw(this: Self) -> *const T

    Consumes the Arc, returning the wrapped pointer.

    \n

    To avoid a memory leak the pointer must be converted back to an Arc using\n Arc::from_raw.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n \n let x = Arc::new(\"hello\".to_owned());\n let x_ptr = Arc::into_raw(x);\n assert_eq!(unsafe { &*x_ptr }, \"hello\");
    Run
    \n-
    1.45.0 \u00b7 source

    pub fn as_ptr(this: &Self) -> *const T

    Provides a raw pointer to the data.

    \n+
    1.45.0 \u00b7 source

    pub fn as_ptr(this: &Self) -> *const T

    Provides a raw pointer to the data.

    \n

    The counts are not affected in any way and the Arc is not consumed. The pointer is valid for\n as long as there are strong counts in the Arc.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n \n let x = Arc::new(\"hello\".to_owned());\n let y = Arc::clone(&x);\n let x_ptr = Arc::as_ptr(&x);\n assert_eq!(x_ptr, Arc::as_ptr(&y));\n assert_eq!(unsafe { &*x_ptr }, \"hello\");
    Run
    \n-
    source

    pub unsafe fn from_raw_in(ptr: *const T, alloc: A) -> Self

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs an Arc<T, A> from a raw pointer.

    \n+
    source

    pub unsafe fn from_raw_in(ptr: *const T, alloc: A) -> Self

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs an Arc<T, A> from a raw pointer.

    \n

    The raw pointer must have been previously returned by a call to Arc<U, A>::into_raw with the following requirements:

    \n
      \n
    • If U is sized, it must have the same size and alignment as T. This\n is trivially true if U is T.
    • \n
    • If U is unsized, its data pointer must have the same size and\n alignment as T. This is trivially true if Arc<U> was constructed\n through Arc<T> and then converted to Arc<U> through an unsized\n coercion.
    • \n
    \n

    Note that if U or U\u2019s data pointer is not T but has the same size\n and alignment, this is basically like transmuting references of\n-different types. See mem::transmute for more information\n+different types. See mem::transmute for more information\n on what restrictions apply in this case.

    \n

    The raw pointer must point to a block of memory allocated by alloc

    \n

    The user of from_raw has to make sure a specific value of T is only\n dropped once.

    \n

    This function is unsafe because improper use may lead to memory unsafety,\n even if the returned Arc<T> is never accessed.

    \n
    \u00a7Examples
    \n@@ -689,52 +689,52 @@\n let x: Arc<[u32], _> = Arc::new_in([1, 2, 3], System);\n let x_ptr: *const [u32] = Arc::into_raw(x);\n \n unsafe {\n let x: Arc<[u32; 3], _> = Arc::from_raw_in(x_ptr.cast::<[u32; 3]>(), System);\n assert_eq!(&*x, &[1, 2, 3]);\n }Run
    \n-
    1.4.0 \u00b7 source

    pub fn downgrade(this: &Self) -> Weak<T, A>
    where\n- A: Clone,

    Creates a new Weak pointer to this allocation.

    \n+
    1.4.0 \u00b7 source

    pub fn downgrade(this: &Self) -> Weak<T, A>
    where\n+ A: Clone,

    Creates a new Weak pointer to this allocation.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n \n let five = Arc::new(5);\n \n let weak_five = Arc::downgrade(&five);
    Run
    \n-
    1.15.0 \u00b7 source

    pub fn weak_count(this: &Self) -> usize

    Gets the number of Weak pointers to this allocation.

    \n+
    1.15.0 \u00b7 source

    pub fn weak_count(this: &Self) -> usize

    Gets the number of Weak pointers to this allocation.

    \n
    \u00a7Safety
    \n

    This method by itself is safe, but using it correctly requires extra care.\n Another thread can change the weak count at any time,\n including potentially between calling this method and acting on the result.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n \n let five = Arc::new(5);\n let _weak_five = Arc::downgrade(&five);\n \n // This assertion is deterministic because we haven't shared\n // the `Arc` or `Weak` between threads.\n assert_eq!(1, Arc::weak_count(&five));
    Run
    \n-
    1.15.0 \u00b7 source

    pub fn strong_count(this: &Self) -> usize

    Gets the number of strong (Arc) pointers to this allocation.

    \n+
    1.15.0 \u00b7 source

    pub fn strong_count(this: &Self) -> usize

    Gets the number of strong (Arc) pointers to this allocation.

    \n
    \u00a7Safety
    \n

    This method by itself is safe, but using it correctly requires extra care.\n Another thread can change the strong count at any time,\n including potentially between calling this method and acting on the result.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n \n let five = Arc::new(5);\n let _also_five = Arc::clone(&five);\n \n // This assertion is deterministic because we haven't shared\n // the `Arc` between threads.\n assert_eq!(2, Arc::strong_count(&five));
    Run
    \n-
    source

    pub unsafe fn increment_strong_count_in(ptr: *const T, alloc: A)
    where\n- A: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Increments the strong reference count on the Arc<T> associated with the\n+

    source

    pub unsafe fn increment_strong_count_in(ptr: *const T, alloc: A)
    where\n+ A: Clone,

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Increments the strong reference count on the Arc<T> associated with the\n provided pointer by one.

    \n
    \u00a7Safety
    \n

    The pointer must have been obtained through Arc::into_raw, and the\n associated Arc instance must be valid (i.e. the strong count must be at\n least 1) for the duration of this method,, and ptr must point to a block of memory\n allocated by alloc.

    \n
    \u00a7Examples
    \n@@ -750,15 +750,15 @@\n Arc::increment_strong_count_in(ptr, System);\n \n // This assertion is deterministic because we haven't shared\n // the `Arc` between threads.\n let five = Arc::from_raw_in(ptr, System);\n assert_eq!(2, Arc::strong_count(&five));\n }Run
    \n-
    source

    pub unsafe fn decrement_strong_count_in(ptr: *const T, alloc: A)

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Decrements the strong reference count on the Arc<T> associated with the\n+

    source

    pub unsafe fn decrement_strong_count_in(ptr: *const T, alloc: A)

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Decrements the strong reference count on the Arc<T> associated with the\n provided pointer by one.

    \n
    \u00a7Safety
    \n

    The pointer must have been obtained through Arc::into_raw, the\n associated Arc instance must be valid (i.e. the strong count must be at\n least 1) when invoking this method, and ptr must point to a block of memory\n allocated by alloc. This method can be used to release the final\n Arc and backing storage, but should not be called after the final Arc has been\n@@ -778,28 +778,28 @@\n // Those assertions are deterministic because we haven't shared\n // the `Arc` between threads.\n let five = Arc::from_raw_in(ptr, System);\n assert_eq!(2, Arc::strong_count(&five));\n Arc::decrement_strong_count_in(ptr, System);\n assert_eq!(1, Arc::strong_count(&five));\n }Run

    \n-
    1.17.0 \u00b7 source

    pub fn ptr_eq(this: &Self, other: &Self) -> bool

    Returns true if the two Arcs point to the same allocation in a vein similar to\n-ptr::eq. This function ignores the metadata of dyn Trait pointers.

    \n+
    1.17.0 \u00b7 source

    pub fn ptr_eq(this: &Self, other: &Self) -> bool

    Returns true if the two Arcs point to the same allocation in a vein similar to\n+ptr::eq. This function ignores the metadata of dyn Trait pointers.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n \n let five = Arc::new(5);\n let same_five = Arc::clone(&five);\n let other_five = Arc::new(5);\n \n assert!(Arc::ptr_eq(&five, &same_five));\n assert!(!Arc::ptr_eq(&five, &other_five));
    Run
    \n-
    source\u00a7

    impl<T: Clone, A: Allocator + Clone> Arc<T, A>

    1.4.0 \u00b7 source

    pub fn make_mut(this: &mut Self) -> &mut T

    Makes a mutable reference into the given Arc.

    \n+
    source\u00a7

    impl<T: Clone, A: Allocator + Clone> Arc<T, A>

    1.4.0 \u00b7 source

    pub fn make_mut(this: &mut Self) -> &mut T

    Makes a mutable reference into the given Arc.

    \n

    If there are other Arc pointers to the same allocation, then make_mut will\n-clone the inner value to a new allocation to ensure unique ownership. This is also\n+clone the inner value to a new allocation to ensure unique ownership. This is also\n referred to as clone-on-write.

    \n

    However, if there are no other Arc pointers to this allocation, but some Weak\n pointers, then the Weak pointers will be dissociated and the inner value will not\n be cloned.

    \n

    See also get_mut, which will fail rather than cloning the inner value\n or dissociating Weak pointers.

    \n
    \u00a7Examples
    \n@@ -848,30 +848,30 @@\n let inner = Arc::unwrap_or_clone(arc);\n // Because there were 2 references, we had to clone the inner value.\n assert!(!ptr::eq(ptr, inner.as_ptr()));\n // `arc2` is the last reference, so when we unwrap it we get back\n // the original `String`.\n let inner = Arc::unwrap_or_clone(arc2);\n assert!(ptr::eq(ptr, inner.as_ptr()));Run
    \n-
    source\u00a7

    impl<T: ?Sized, A: Allocator> Arc<T, A>

    1.4.0 \u00b7 source

    pub fn get_mut(this: &mut Self) -> Option<&mut T>

    Returns a mutable reference into the given Arc, if there are\n+

    source\u00a7

    impl<T: ?Sized, A: Allocator> Arc<T, A>

    1.4.0 \u00b7 source

    pub fn get_mut(this: &mut Self) -> Option<&mut T>

    Returns a mutable reference into the given Arc, if there are\n no other Arc or Weak pointers to the same allocation.

    \n-

    Returns None otherwise, because it is not safe to\n+

    Returns None otherwise, because it is not safe to\n mutate a shared value.

    \n-

    See also make_mut, which will clone\n+

    See also make_mut, which will clone\n the inner value when there are other Arc pointers.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n \n let mut x = Arc::new(3);\n *Arc::get_mut(&mut x).unwrap() = 4;\n assert_eq!(*x, 4);\n \n let _y = Arc::clone(&x);\n assert!(Arc::get_mut(&mut x).is_none());
    Run
    \n-
    source

    pub unsafe fn get_mut_unchecked(this: &mut Self) -> &mut T

    \ud83d\udd2cThis is a nightly-only experimental API. (get_mut_unchecked #63292)

    Returns a mutable reference into the given Arc,\n+

    source

    pub unsafe fn get_mut_unchecked(this: &mut Self) -> &mut T

    \ud83d\udd2cThis is a nightly-only experimental API. (get_mut_unchecked #63292)

    Returns a mutable reference into the given Arc,\n without any check.

    \n

    See also get_mut, which is safe and does appropriate checks.

    \n
    \u00a7Safety
    \n

    If any other Arc or Weak pointers to the same allocation exist, then\n they must not be dereferenced or have active borrows for the duration\n of the returned borrow, and their inner type must be exactly the same as the\n inner type of this Rc (including lifetimes). This is trivially the case if no\n@@ -912,31 +912,31 @@\n unsafe {\n // this is Undefined Behavior, because x's inner type\n // is &'long str, not &'short str\n *Arc::get_mut_unchecked(&mut y) = &s;\n }\n }\n println!(\"{}\", &*x); // Use-after-freeRun

    \n-
    source\u00a7

    impl<A: Allocator> Arc<dyn Any + Send + Sync, A>

    1.29.0 \u00b7 source

    pub fn downcast<T>(self) -> Result<Arc<T, A>, Self>
    where\n- T: Any + Send + Sync,

    Attempt to downcast the Arc<dyn Any + Send + Sync> to a concrete type.

    \n+
    source\u00a7

    impl<A: Allocator> Arc<dyn Any + Send + Sync, A>

    1.29.0 \u00b7 source

    pub fn downcast<T>(self) -> Result<Arc<T, A>, Self>
    where\n+ T: Any + Send + Sync,

    Attempt to downcast the Arc<dyn Any + Send + Sync> to a concrete type.

    \n
    \u00a7Examples
    \n
    use std::any::Any;\n use std::sync::Arc;\n \n fn print_if_string(value: Arc<dyn Any + Send + Sync>) {\n     if let Ok(string) = value.downcast::<String>() {\n         println!(\"String ({}): {}\", string.len(), string);\n     }\n }\n \n let my_string = \"Hello World\".to_string();\n print_if_string(Arc::new(my_string));\n print_if_string(Arc::new(0i8));
    Run
    \n
    source

    pub unsafe fn downcast_unchecked<T>(self) -> Arc<T, A>
    where\n- T: Any + Send + Sync,

    \ud83d\udd2cThis is a nightly-only experimental API. (downcast_unchecked #90850)

    Downcasts the Arc<dyn Any + Send + Sync> to a concrete type.

    \n+ T: Any + Send + Sync,
    \ud83d\udd2cThis is a nightly-only experimental API. (downcast_unchecked #90850)

    Downcasts the Arc<dyn Any + Send + Sync> to a concrete type.

    \n

    For a safe alternative see downcast.

    \n
    \u00a7Examples
    \n
    #![feature(downcast_unchecked)]\n \n use std::any::Any;\n use std::sync::Arc;\n \n@@ -944,30 +944,30 @@\n \n unsafe {\n     assert_eq!(*x.downcast_unchecked::<usize>(), 1);\n }
    Run
    \n
    \u00a7Safety
    \n

    The contained value must be of type T. Calling this method\n with the incorrect type is undefined behavior.

    \n-

    Trait Implementations\u00a7

    1.5.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> AsRef<T> for Arc<T, A>

    source\u00a7

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    source\u00a7

    impl<T: ?Sized, A: Allocator> Borrow<T> for Arc<T, A>

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T: ?Sized, A: Allocator + Clone> Clone for Arc<T, A>

    source\u00a7

    fn clone(&self) -> Arc<T, A>

    Makes a clone of the Arc pointer.

    \n+

    Trait Implementations\u00a7

    1.5.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> AsRef<T> for Arc<T, A>

    source\u00a7

    fn as_ref(&self) -> &T

    Converts this type into a shared reference of the (usually inferred) input type.
    source\u00a7

    impl<T: ?Sized, A: Allocator> Borrow<T> for Arc<T, A>

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T: ?Sized, A: Allocator + Clone> Clone for Arc<T, A>

    source\u00a7

    fn clone(&self) -> Arc<T, A>

    Makes a clone of the Arc pointer.

    \n

    This creates another pointer to the same allocation, increasing the\n strong reference count.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n \n let five = Arc::new(5);\n \n let _ = Arc::clone(&five);
    Run
    \n-
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<T: ?Sized + Debug, A: Allocator> Debug for Arc<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T: Default> Default for Arc<T>

    source\u00a7

    fn default() -> Arc<T>

    Creates a new Arc<T>, with the Default value for T.

    \n+
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<T: ?Sized + Debug, A: Allocator> Debug for Arc<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T: Default> Default for Arc<T>

    source\u00a7

    fn default() -> Arc<T>

    Creates a new Arc<T>, with the Default value for T.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n \n let x: Arc<i32> = Default::default();\n assert_eq!(*x, 0);
    Run
    \n-
    source\u00a7

    impl<T: ?Sized, A: Allocator> Deref for Arc<T, A>

    \u00a7

    type Target = T

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &T

    Dereferences the value.
    source\u00a7

    impl<T: ?Sized + Display, A: Allocator> Display for Arc<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T: ?Sized, A: Allocator> Drop for Arc<T, A>

    source\u00a7

    fn drop(&mut self)

    Drops the Arc.

    \n+
    source\u00a7

    impl<T: ?Sized, A: Allocator> Deref for Arc<T, A>

    \u00a7

    type Target = T

    The resulting type after dereferencing.
    source\u00a7

    fn deref(&self) -> &T

    Dereferences the value.
    source\u00a7

    impl<T: ?Sized + Display, A: Allocator> Display for Arc<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T: ?Sized, A: Allocator> Drop for Arc<T, A>

    source\u00a7

    fn drop(&mut self)

    Drops the Arc.

    \n

    This will decrement the strong reference count. If the strong reference\n count reaches zero then the only other references (if any) are\n Weak, so we drop the inner value.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n \n struct Foo;\n@@ -979,75 +979,75 @@\n }\n \n let foo  = Arc::new(Foo);\n let foo2 = Arc::clone(&foo);\n \n drop(foo);    // Doesn't print anything\n drop(foo2);   // Prints \"dropped!\"
    Run
    \n-
    1.52.0 \u00b7 source\u00a7

    impl<T: Error + ?Sized> Error for Arc<T>

    source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source\u00a7

    fn provide<'a>(&'a self, req: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more
    1.21.0 \u00b7 source\u00a7

    impl<T: Clone> From<&[T]> for Arc<[T]>

    source\u00a7

    fn from(v: &[T]) -> Arc<[T]>

    Allocate a reference-counted slice and fill it by cloning v\u2019s items.

    \n+
    1.52.0 \u00b7 source\u00a7

    impl<T: Error + ?Sized> Error for Arc<T>

    source\u00a7

    fn description(&self) -> &str

    \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
    source\u00a7

    fn cause(&self) -> Option<&dyn Error>

    \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source\u00a7

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source\u00a7

    fn provide<'a>(&'a self, req: &mut Request<'a>)

    \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
    Provides type based access to context intended for error reports. Read more
    1.21.0 \u00b7 source\u00a7

    impl<T: Clone> From<&[T]> for Arc<[T]>

    source\u00a7

    fn from(v: &[T]) -> Arc<[T]>

    Allocate a reference-counted slice and fill it by cloning v\u2019s items.

    \n
    \u00a7Example
    \n
    let original: &[i32] = &[1, 2, 3];\n let shared: Arc<[i32]> = Arc::from(original);\n assert_eq!(&[1, 2, 3], &shared[..]);
    Run
    \n-
    1.24.0 \u00b7 source\u00a7

    impl From<&CStr> for Arc<CStr>

    source\u00a7

    fn from(s: &CStr) -> Arc<CStr>

    Converts a &CStr into a Arc<CStr>,\n+

    1.24.0 \u00b7 source\u00a7

    impl From<&CStr> for Arc<CStr>

    source\u00a7

    fn from(s: &CStr) -> Arc<CStr>

    Converts a &CStr into a Arc<CStr>,\n by copying the contents into a newly allocated Arc.

    \n-
    1.21.0 \u00b7 source\u00a7

    impl From<&str> for Arc<str>

    source\u00a7

    fn from(v: &str) -> Arc<str>

    Allocate a reference-counted str and copy v into it.

    \n+
    1.21.0 \u00b7 source\u00a7

    impl From<&str> for Arc<str>

    source\u00a7

    fn from(v: &str) -> Arc<str>

    Allocate a reference-counted str and copy v into it.

    \n
    \u00a7Example
    \n
    let shared: Arc<str> = Arc::from(\"eggplant\");\n assert_eq!(\"eggplant\", &shared[..]);
    Run
    \n-
    1.74.0 \u00b7 source\u00a7

    impl<T, const N: usize> From<[T; N]> for Arc<[T]>

    source\u00a7

    fn from(v: [T; N]) -> Arc<[T]>

    Converts a [T; N] into an Arc<[T]>.

    \n+
    1.74.0 \u00b7 source\u00a7

    impl<T, const N: usize> From<[T; N]> for Arc<[T]>

    source\u00a7

    fn from(v: [T; N]) -> Arc<[T]>

    Converts a [T; N] into an Arc<[T]>.

    \n

    The conversion moves the array into a newly allocated Arc.

    \n
    \u00a7Example
    \n
    let original: [i32; 3] = [1, 2, 3];\n let shared: Arc<[i32]> = Arc::from(original);\n assert_eq!(&[1, 2, 3], &shared[..]);
    Run
    \n-
    1.51.0 \u00b7 source\u00a7

    impl<W: Wake + Send + Sync + 'static> From<Arc<W>> for RawWaker

    source\u00a7

    fn from(waker: Arc<W>) -> RawWaker

    Use a Wake-able type as a RawWaker.

    \n+
    1.51.0 \u00b7 source\u00a7

    impl<W: Wake + Send + Sync + 'static> From<Arc<W>> for RawWaker

    source\u00a7

    fn from(waker: Arc<W>) -> RawWaker

    Use a Wake-able type as a RawWaker.

    \n

    No heap allocations or atomic operations are used for this conversion.

    \n-
    1.51.0 \u00b7 source\u00a7

    impl<W: Wake + Send + Sync + 'static> From<Arc<W>> for Waker

    source\u00a7

    fn from(waker: Arc<W>) -> Waker

    Use a Wake-able type as a Waker.

    \n+
    1.51.0 \u00b7 source\u00a7

    impl<W: Wake + Send + Sync + 'static> From<Arc<W>> for Waker

    source\u00a7

    fn from(waker: Arc<W>) -> Waker

    Use a Wake-able type as a Waker.

    \n

    No heap allocations or atomic operations are used for this conversion.

    \n-
    1.62.0 \u00b7 source\u00a7

    impl From<Arc<str>> for Arc<[u8]>

    source\u00a7

    fn from(rc: Arc<str>) -> Self

    Converts an atomically reference-counted string slice into a byte slice.

    \n+
    1.62.0 \u00b7 source\u00a7

    impl From<Arc<str>> for Arc<[u8]>

    source\u00a7

    fn from(rc: Arc<str>) -> Self

    Converts an atomically reference-counted string slice into a byte slice.

    \n
    \u00a7Example
    \n
    let string: Arc<str> = Arc::from(\"eggplant\");\n let bytes: Arc<[u8]> = Arc::from(string);\n assert_eq!(\"eggplant\".as_bytes(), bytes.as_ref());
    Run
    \n-
    1.21.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> From<Box<T, A>> for Arc<T, A>

    source\u00a7

    fn from(v: Box<T, A>) -> Arc<T, A>

    Move a boxed object to a new, reference-counted allocation.

    \n+
    1.21.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> From<Box<T, A>> for Arc<T, A>

    source\u00a7

    fn from(v: Box<T, A>) -> Arc<T, A>

    Move a boxed object to a new, reference-counted allocation.

    \n
    \u00a7Example
    \n
    let unique: Box<str> = Box::from(\"eggplant\");\n let shared: Arc<str> = Arc::from(unique);\n assert_eq!(\"eggplant\", &shared[..]);
    Run
    \n-
    1.24.0 \u00b7 source\u00a7

    impl From<CString> for Arc<CStr>

    source\u00a7

    fn from(s: CString) -> Arc<CStr>

    Converts a CString into an Arc<CStr> by moving the CString\n+

    1.24.0 \u00b7 source\u00a7

    impl From<CString> for Arc<CStr>

    source\u00a7

    fn from(s: CString) -> Arc<CStr>

    Converts a CString into an Arc<CStr> by moving the CString\n data into a new Arc buffer.

    \n-
    1.45.0 \u00b7 source\u00a7

    impl<'a, B> From<Cow<'a, B>> for Arc<B>
    where\n- B: ToOwned + ?Sized,\n- Arc<B>: From<&'a B> + From<B::Owned>,

    source\u00a7

    fn from(cow: Cow<'a, B>) -> Arc<B>

    Create an atomically reference-counted pointer from\n+

    1.45.0 \u00b7 source\u00a7

    impl<'a, B> From<Cow<'a, B>> for Arc<B>
    where\n+ B: ToOwned + ?Sized,\n+ Arc<B>: From<&'a B> + From<B::Owned>,

    source\u00a7

    fn from(cow: Cow<'a, B>) -> Arc<B>

    Create an atomically reference-counted pointer from\n a clone-on-write pointer by copying its content.

    \n
    \u00a7Example
    \n
    let cow: Cow<'_, str> = Cow::Borrowed(\"eggplant\");\n let shared: Arc<str> = Arc::from(cow);\n assert_eq!(\"eggplant\", &shared[..]);
    Run
    \n-
    1.21.0 \u00b7 source\u00a7

    impl From<String> for Arc<str>

    source\u00a7

    fn from(v: String) -> Arc<str>

    Allocate a reference-counted str and copy v into it.

    \n+
    1.21.0 \u00b7 source\u00a7

    impl From<String> for Arc<str>

    source\u00a7

    fn from(v: String) -> Arc<str>

    Allocate a reference-counted str and copy v into it.

    \n
    \u00a7Example
    \n
    let unique: String = \"eggplant\".to_owned();\n let shared: Arc<str> = Arc::from(unique);\n assert_eq!(\"eggplant\", &shared[..]);
    Run
    \n-
    1.6.0 \u00b7 source\u00a7

    impl<T> From<T> for Arc<T>

    source\u00a7

    fn from(t: T) -> Self

    Converts a T into an Arc<T>

    \n+
    1.6.0 \u00b7 source\u00a7

    impl<T> From<T> for Arc<T>

    source\u00a7

    fn from(t: T) -> Self

    Converts a T into an Arc<T>

    \n

    The conversion moves the value into a\n newly allocated Arc. It is equivalent to\n calling Arc::new(t).

    \n
    \u00a7Example
    \n
    let x = 5;\n let arc = Arc::new(5);\n \n assert_eq!(Arc::from(x), arc);
    Run
    \n-
    1.21.0 \u00b7 source\u00a7

    impl<T, A: Allocator + Clone> From<Vec<T, A>> for Arc<[T], A>

    source\u00a7

    fn from(v: Vec<T, A>) -> Arc<[T], A>

    Allocate a reference-counted slice and move v\u2019s items into it.

    \n+
    1.21.0 \u00b7 source\u00a7

    impl<T, A: Allocator + Clone> From<Vec<T, A>> for Arc<[T], A>

    source\u00a7

    fn from(v: Vec<T, A>) -> Arc<[T], A>

    Allocate a reference-counted slice and move v\u2019s items into it.

    \n
    \u00a7Example
    \n
    let unique: Vec<i32> = vec![1, 2, 3];\n let shared: Arc<[i32]> = Arc::from(unique);\n assert_eq!(&[1, 2, 3], &shared[..]);
    Run
    \n-
    1.37.0 \u00b7 source\u00a7

    impl<T> FromIterator<T> for Arc<[T]>

    source\u00a7

    fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self

    Takes each element in the Iterator and collects it into an Arc<[T]>.

    \n+
    1.37.0 \u00b7 source\u00a7

    impl<T> FromIterator<T> for Arc<[T]>

    source\u00a7

    fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Self

    Takes each element in the Iterator and collects it into an Arc<[T]>.

    \n
    \u00a7Performance characteristics
    \u00a7The general case
    \n

    In the general case, collecting into Arc<[T]> is done by first\n collecting into a Vec<T>. That is, when writing the following:

    \n \n
    let evens: Arc<[u8]> = (0..10).filter(|&x| x % 2 == 0).collect();
    Run
    \n

    this behaves as if we wrote:

    \n \n@@ -1057,99 +1057,99 @@\n

    This will allocate as many times as needed for constructing the Vec<T>\n and then it will allocate once for turning the Vec<T> into the Arc<[T]>.

    \n
    \u00a7Iterators of known length
    \n

    When your Iterator implements TrustedLen and is of an exact size,\n a single allocation will be made for the Arc<[T]>. For example:

    \n \n
    let evens: Arc<[u8]> = (0..10).collect(); // Just a single allocation happens here.
    Run
    \n-
    source\u00a7

    impl<T: ?Sized + Hash, A: Allocator> Hash for Arc<T, A>

    source\u00a7

    fn hash<H: Hasher>(&self, state: &mut H)

    Feeds this value into the given Hasher. Read more
    1.3.0 \u00b7 source\u00a7

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n- H: Hasher,\n- Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source\u00a7

    impl<T: ?Sized + Ord, A: Allocator> Ord for Arc<T, A>

    source\u00a7

    fn cmp(&self, other: &Arc<T, A>) -> Ordering

    Comparison for two Arcs.

    \n+
    source\u00a7

    impl<T: ?Sized + Hash, A: Allocator> Hash for Arc<T, A>

    source\u00a7

    fn hash<H: Hasher>(&self, state: &mut H)

    Feeds this value into the given Hasher. Read more
    1.3.0 \u00b7 source\u00a7

    fn hash_slice<H>(data: &[Self], state: &mut H)
    where\n+ H: Hasher,\n+ Self: Sized,

    Feeds a slice of this type into the given Hasher. Read more
    source\u00a7

    impl<T: ?Sized + Ord, A: Allocator> Ord for Arc<T, A>

    source\u00a7

    fn cmp(&self, other: &Arc<T, A>) -> Ordering

    Comparison for two Arcs.

    \n

    The two are compared by calling cmp() on their inner values.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n use std::cmp::Ordering;\n \n let five = Arc::new(5);\n \n assert_eq!(Ordering::Less, five.cmp(&Arc::new(6)));
    Run
    \n-
    1.21.0 \u00b7 source\u00a7

    fn max(self, other: Self) -> Self
    where\n- Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 \u00b7 source\u00a7

    fn min(self, other: Self) -> Self
    where\n- Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 \u00b7 source\u00a7

    fn clamp(self, min: Self, max: Self) -> Self
    where\n- Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source\u00a7

    impl<T: ?Sized + PartialEq, A: Allocator> PartialEq for Arc<T, A>

    source\u00a7

    fn eq(&self, other: &Arc<T, A>) -> bool

    Equality for two Arcs.

    \n+
    1.21.0 \u00b7 source\u00a7

    fn max(self, other: Self) -> Self
    where\n+ Self: Sized,

    Compares and returns the maximum of two values. Read more
    1.21.0 \u00b7 source\u00a7

    fn min(self, other: Self) -> Self
    where\n+ Self: Sized,

    Compares and returns the minimum of two values. Read more
    1.50.0 \u00b7 source\u00a7

    fn clamp(self, min: Self, max: Self) -> Self
    where\n+ Self: Sized + PartialOrd,

    Restrict a value to a certain interval. Read more
    source\u00a7

    impl<T: ?Sized + PartialEq, A: Allocator> PartialEq for Arc<T, A>

    source\u00a7

    fn eq(&self, other: &Arc<T, A>) -> bool

    Equality for two Arcs.

    \n

    Two Arcs are equal if their inner values are equal, even if they are\n stored in different allocation.

    \n

    If T also implements Eq (implying reflexivity of equality),\n two Arcs that point to the same allocation are always equal.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n \n let five = Arc::new(5);\n \n assert!(five == Arc::new(5));
    Run
    \n-
    source\u00a7

    fn ne(&self, other: &Arc<T, A>) -> bool

    Inequality for two Arcs.

    \n+
    source\u00a7

    fn ne(&self, other: &Arc<T, A>) -> bool

    Inequality for two Arcs.

    \n

    Two Arcs are not equal if their inner values are not equal.

    \n

    If T also implements Eq (implying reflexivity of equality),\n two Arcs that point to the same value are always equal.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n \n let five = Arc::new(5);\n \n assert!(five != Arc::new(6));
    Run
    \n-
    source\u00a7

    impl<T: ?Sized + PartialOrd, A: Allocator> PartialOrd for Arc<T, A>

    source\u00a7

    fn partial_cmp(&self, other: &Arc<T, A>) -> Option<Ordering>

    Partial comparison for two Arcs.

    \n+
    source\u00a7

    impl<T: ?Sized + PartialOrd, A: Allocator> PartialOrd for Arc<T, A>

    source\u00a7

    fn partial_cmp(&self, other: &Arc<T, A>) -> Option<Ordering>

    Partial comparison for two Arcs.

    \n

    The two are compared by calling partial_cmp() on their inner values.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n use std::cmp::Ordering;\n \n let five = Arc::new(5);\n \n assert_eq!(Some(Ordering::Less), five.partial_cmp(&Arc::new(6)));
    Run
    \n-
    source\u00a7

    fn lt(&self, other: &Arc<T, A>) -> bool

    Less-than comparison for two Arcs.

    \n+
    source\u00a7

    fn lt(&self, other: &Arc<T, A>) -> bool

    Less-than comparison for two Arcs.

    \n

    The two are compared by calling < on their inner values.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n \n let five = Arc::new(5);\n \n assert!(five < Arc::new(6));
    Run
    \n-
    source\u00a7

    fn le(&self, other: &Arc<T, A>) -> bool

    \u2018Less than or equal to\u2019 comparison for two Arcs.

    \n+
    source\u00a7

    fn le(&self, other: &Arc<T, A>) -> bool

    \u2018Less than or equal to\u2019 comparison for two Arcs.

    \n

    The two are compared by calling <= on their inner values.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n \n let five = Arc::new(5);\n \n assert!(five <= Arc::new(5));
    Run
    \n-
    source\u00a7

    fn gt(&self, other: &Arc<T, A>) -> bool

    Greater-than comparison for two Arcs.

    \n+
    source\u00a7

    fn gt(&self, other: &Arc<T, A>) -> bool

    Greater-than comparison for two Arcs.

    \n

    The two are compared by calling > on their inner values.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n \n let five = Arc::new(5);\n \n assert!(five > Arc::new(4));
    Run
    \n-
    source\u00a7

    fn ge(&self, other: &Arc<T, A>) -> bool

    \u2018Greater than or equal to\u2019 comparison for two Arcs.

    \n+
    source\u00a7

    fn ge(&self, other: &Arc<T, A>) -> bool

    \u2018Greater than or equal to\u2019 comparison for two Arcs.

    \n

    The two are compared by calling >= on their inner values.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n \n let five = Arc::new(5);\n \n assert!(five >= Arc::new(5));
    Run
    \n-
    source\u00a7

    impl<T: ?Sized, A: Allocator> Pointer for Arc<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter.
    1.43.0 \u00b7 source\u00a7

    impl<T, A: Allocator, const N: usize> TryFrom<Arc<[T], A>> for Arc<[T; N], A>

    \u00a7

    type Error = Arc<[T], A>

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(boxed_slice: Arc<[T], A>) -> Result<Self, Self::Error>

    Performs the conversion.
    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<Arc<U, A>> for Arc<T, A>

    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Arc<U>> for Arc<T>

    source\u00a7

    impl<T: ?Sized + Eq, A: Allocator> Eq for Arc<T, A>

    source\u00a7

    impl<T: ?Sized + Sync + Send, A: Allocator + Send> Send for Arc<T, A>

    source\u00a7

    impl<T: ?Sized + Sync + Send, A: Allocator + Sync> Sync for Arc<T, A>

    1.33.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Unpin for Arc<T, A>

    1.9.0 \u00b7 source\u00a7

    impl<T: RefUnwindSafe + ?Sized, A: Allocator + UnwindSafe> UnwindSafe for Arc<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T: ?Sized, A> Freeze for Arc<T, A>
    where\n- A: Freeze,

    \u00a7

    impl<T: ?Sized, A> RefUnwindSafe for Arc<T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<!> for T

    source\u00a7

    fn from(t: !) -> T

    Converts to this type from the input type.
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+
    source\u00a7

    impl<T: ?Sized, A: Allocator> Pointer for Arc<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter.
    1.43.0 \u00b7 source\u00a7

    impl<T, A: Allocator, const N: usize> TryFrom<Arc<[T], A>> for Arc<[T; N], A>

    \u00a7

    type Error = Arc<[T], A>

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(boxed_slice: Arc<[T], A>) -> Result<Self, Self::Error>

    Performs the conversion.
    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<Arc<U, A>> for Arc<T, A>

    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Arc<U>> for Arc<T>

    source\u00a7

    impl<T: ?Sized + Eq, A: Allocator> Eq for Arc<T, A>

    source\u00a7

    impl<T: ?Sized + Sync + Send, A: Allocator + Send> Send for Arc<T, A>

    source\u00a7

    impl<T: ?Sized + Sync + Send, A: Allocator + Sync> Sync for Arc<T, A>

    1.33.0 \u00b7 source\u00a7

    impl<T: ?Sized, A: Allocator> Unpin for Arc<T, A>

    1.9.0 \u00b7 source\u00a7

    impl<T: RefUnwindSafe + ?Sized, A: Allocator + UnwindSafe> UnwindSafe for Arc<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T: ?Sized, A> Freeze for Arc<T, A>
    where\n+ A: Freeze,

    \u00a7

    impl<T: ?Sized, A> RefUnwindSafe for Arc<T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<!> for T

    source\u00a7

    fn from(t: !) -> T

    Converts to this type from the input type.
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n- T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T> ToString for T
    where\n+ T: Display + ?Sized,

    source\u00a7

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/sync/struct.Weak.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/sync/struct.Weak.html", "unified_diff": "@@ -1,42 +1,42 @@\n Weak in alloc::sync - Rust
    \n-

    Struct alloc::sync::Weak

    1.4.0 \u00b7 source \u00b7
    pub struct Weak<T: ?Sized, A: Allocator = Global> { /* private fields */ }
    Expand description

    Weak is a version of Arc that holds a non-owning reference to the\n+

    Struct alloc::sync::Weak

    1.4.0 \u00b7 source \u00b7
    pub struct Weak<T: ?Sized, A: Allocator = Global> { /* private fields */ }
    Expand description

    Weak is a version of Arc that holds a non-owning reference to the\n managed allocation. The allocation is accessed by calling upgrade on the Weak\n-pointer, which returns an Option<Arc<T>>.

    \n+pointer, which returns an Option<Arc<T>>.

    \n

    Since a Weak reference does not count towards ownership, it will not\n prevent the value stored in the allocation from being dropped, and Weak itself makes no\n-guarantees about the value still being present. Thus it may return None\n+guarantees about the value still being present. Thus it may return None\n when upgraded. Note however that a Weak reference does prevent the allocation\n itself (the backing store) from being deallocated.

    \n

    A Weak pointer is useful for keeping a temporary reference to the allocation\n managed by Arc without preventing its inner value from being dropped. It is also used to\n prevent circular references between Arc pointers, since mutual owning references\n would never allow either Arc to be dropped. For example, a tree could\n have strong Arc pointers from parent nodes to children, and Weak\n pointers from children back to their parents.

    \n

    The typical way to obtain a Weak pointer is to call Arc::downgrade.

    \n

    Implementations\u00a7

    source\u00a7

    impl<T> Weak<T>

    1.10.0 (const: 1.73.0) \u00b7 source

    pub const fn new() -> Weak<T>

    Constructs a new Weak<T>, without allocating any memory.\n-Calling upgrade on the return value always gives None.

    \n+Calling upgrade on the return value always gives None.

    \n
    \u00a7Examples
    \n
    use std::sync::Weak;\n \n let empty: Weak<i64> = Weak::new();\n assert!(empty.upgrade().is_none());
    Run
    \n
    source\u00a7

    impl<T, A: Allocator> Weak<T, A>

    source

    pub fn new_in(alloc: A) -> Weak<T, A>

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Constructs a new Weak<T, A>, without allocating any memory, technically in the provided\n allocator.\n-Calling upgrade on the return value always gives None.

    \n+Calling upgrade on the return value always gives None.

    \n
    \u00a7Examples
    \n
    #![feature(allocator_api)]\n \n use std::sync::Weak;\n use std::alloc::System;\n \n let empty: Weak<i64, _> = Weak::new_in(System);\n assert!(empty.upgrade().is_none());
    Run
    \n-
    source\u00a7

    impl<T: ?Sized> Weak<T>

    1.45.0 \u00b7 source

    pub unsafe fn from_raw(ptr: *const T) -> Self

    Converts a raw pointer previously created by into_raw back into Weak<T>.

    \n+
    source\u00a7

    impl<T: ?Sized> Weak<T>

    1.45.0 \u00b7 source

    pub unsafe fn from_raw(ptr: *const T) -> Self

    Converts a raw pointer previously created by into_raw back into Weak<T>.

    \n

    This can be used to safely get a strong reference (by calling upgrade\n later) or to deallocate the weak count by dropping the Weak<T>.

    \n

    It takes ownership of one weak reference (with the exception of pointers created by new,\n as these don\u2019t own anything; the method still works on them).

    \n
    \u00a7Safety
    \n

    The pointer must have originated from the into_raw and must still own its potential\n weak reference.

    \n@@ -57,17 +57,17 @@\n assert_eq!(\"hello\", &*unsafe { Weak::from_raw(raw_1) }.upgrade().unwrap());\n assert_eq!(1, Arc::weak_count(&strong));\n \n drop(strong);\n \n // Decrement the last weak count.\n assert!(unsafe { Weak::from_raw(raw_2) }.upgrade().is_none());Run
    \n-
    source\u00a7

    impl<T: ?Sized, A: Allocator> Weak<T, A>

    1.45.0 \u00b7 source

    pub fn as_ptr(&self) -> *const T

    Returns a raw pointer to the object T pointed to by this Weak<T>.

    \n+
    source\u00a7

    impl<T: ?Sized, A: Allocator> Weak<T, A>

    1.45.0 \u00b7 source

    pub fn as_ptr(&self) -> *const T

    Returns a raw pointer to the object T pointed to by this Weak<T>.

    \n

    The pointer is valid only if there are some strong references. The pointer may be dangling,\n-unaligned or even null otherwise.

    \n+unaligned or even null otherwise.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n use std::ptr;\n \n let strong = Arc::new(\"hello\".to_owned());\n let weak = Arc::downgrade(&strong);\n // Both point to the same object\n@@ -75,15 +75,15 @@\n // The strong here keeps it alive, so we can still access the object.\n assert_eq!(\"hello\", unsafe { &*weak.as_ptr() });\n \n drop(strong);\n // But not any more. We can do weak.as_ptr(), but accessing the pointer would lead to\n // undefined behaviour.\n // assert_eq!(\"hello\", unsafe { &*weak.as_ptr() });
    Run
    \n-
    1.45.0 \u00b7 source

    pub fn into_raw(self) -> *const T

    Consumes the Weak<T> and turns it into a raw pointer.

    \n+
    1.45.0 \u00b7 source

    pub fn into_raw(self) -> *const T

    Consumes the Weak<T> and turns it into a raw pointer.

    \n

    This converts the weak pointer into a raw pointer, while still preserving the ownership of\n one weak reference (the weak count is not modified by this operation). It can be turned\n back into the Weak<T> with from_raw.

    \n

    The same restrictions of accessing the target of the pointer as with\n as_ptr apply.

    \n
    \u00a7Examples
    \n
    use std::sync::{Arc, Weak};\n@@ -93,15 +93,15 @@\n let raw = weak.into_raw();\n \n assert_eq!(1, Arc::weak_count(&strong));\n assert_eq!(\"hello\", unsafe { &*raw });\n \n drop(unsafe { Weak::from_raw(raw) });\n assert_eq!(0, Arc::weak_count(&strong));
    Run
    \n-
    source

    pub unsafe fn from_raw_in(ptr: *const T, alloc: A) -> Self

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Converts a raw pointer previously created by into_raw back into Weak<T> in the provided\n+

    source

    pub unsafe fn from_raw_in(ptr: *const T, alloc: A) -> Self

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Converts a raw pointer previously created by into_raw back into Weak<T> in the provided\n allocator.

    \n

    This can be used to safely get a strong reference (by calling upgrade\n later) or to deallocate the weak count by dropping the Weak<T>.

    \n

    It takes ownership of one weak reference (with the exception of pointers created by new,\n as these don\u2019t own anything; the method still works on them).

    \n
    \u00a7Safety
    \n

    The pointer must have originated from the into_raw and must still own its potential\n@@ -123,18 +123,18 @@\n assert_eq!(\"hello\", &*unsafe { Weak::from_raw(raw_1) }.upgrade().unwrap());\n assert_eq!(1, Arc::weak_count(&strong));\n \n drop(strong);\n \n // Decrement the last weak count.\n assert!(unsafe { Weak::from_raw(raw_2) }.upgrade().is_none());Run

    \n-
    source\u00a7

    impl<T: ?Sized, A: Allocator> Weak<T, A>

    source

    pub fn upgrade(&self) -> Option<Arc<T, A>>
    where\n- A: Clone,

    Attempts to upgrade the Weak pointer to an Arc, delaying\n+

    source\u00a7

    impl<T: ?Sized, A: Allocator> Weak<T, A>

    source

    pub fn upgrade(&self) -> Option<Arc<T, A>>
    where\n+ A: Clone,

    Attempts to upgrade the Weak pointer to an Arc, delaying\n dropping of the inner value if successful.

    \n-

    Returns None if the inner value has since been dropped.

    \n+

    Returns None if the inner value has since been dropped.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n \n let five = Arc::new(5);\n \n let weak_five = Arc::downgrade(&five);\n \n@@ -142,25 +142,25 @@\n assert!(strong_five.is_some());\n \n // Destroy all strong pointers.\n drop(strong_five);\n drop(five);\n \n assert!(weak_five.upgrade().is_none());
    Run
    \n-
    1.41.0 \u00b7 source

    pub fn strong_count(&self) -> usize

    Gets the number of strong (Arc) pointers pointing to this allocation.

    \n+
    1.41.0 \u00b7 source

    pub fn strong_count(&self) -> usize

    Gets the number of strong (Arc) pointers pointing to this allocation.

    \n

    If self was created using Weak::new, this will return 0.

    \n-
    1.41.0 \u00b7 source

    pub fn weak_count(&self) -> usize

    Gets an approximation of the number of Weak pointers pointing to this\n+

    1.41.0 \u00b7 source

    pub fn weak_count(&self) -> usize

    Gets an approximation of the number of Weak pointers pointing to this\n allocation.

    \n

    If self was created using Weak::new, or if there are no remaining\n strong pointers, this will return 0.

    \n
    \u00a7Accuracy
    \n

    Due to implementation details, the returned value can be off by 1 in\n either direction when other threads are manipulating any Arcs or\n Weaks pointing to the same allocation.

    \n-
    1.39.0 \u00b7 source

    pub fn ptr_eq(&self, other: &Self) -> bool

    Returns true if the two Weaks point to the same allocation similar to ptr::eq, or if\n+

    1.39.0 \u00b7 source

    pub fn ptr_eq(&self, other: &Self) -> bool

    Returns true if the two Weaks point to the same allocation similar to ptr::eq, or if\n both don\u2019t point to any allocation (because they were created with Weak::new()). However,\n this function ignores the metadata of dyn Trait pointers.

    \n
    \u00a7Notes
    \n

    Since this compares pointers it means that Weak::new() will equal each\n other, even though they don\u2019t point to any allocation.

    \n
    \u00a7Examples
    \n
    use std::sync::Arc;\n@@ -182,30 +182,30 @@\n let first = Weak::new();\n let second = Weak::new();\n assert!(first.ptr_eq(&second));\n \n let third_rc = Arc::new(());\n let third = Arc::downgrade(&third_rc);\n assert!(!first.ptr_eq(&third));
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<T: ?Sized, A: Allocator + Clone> Clone for Weak<T, A>

    source\u00a7

    fn clone(&self) -> Weak<T, A>

    Makes a clone of the Weak pointer that points to the same allocation.

    \n+

    Trait Implementations\u00a7

    source\u00a7

    impl<T: ?Sized, A: Allocator + Clone> Clone for Weak<T, A>

    source\u00a7

    fn clone(&self) -> Weak<T, A>

    Makes a clone of the Weak pointer that points to the same allocation.

    \n
    \u00a7Examples
    \n
    use std::sync::{Arc, Weak};\n \n let weak_five = Arc::downgrade(&Arc::new(5));\n \n let _ = Weak::clone(&weak_five);
    Run
    \n-
    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<T: ?Sized> Debug for Weak<T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.10.0 \u00b7 source\u00a7

    impl<T> Default for Weak<T>

    source\u00a7

    fn default() -> Weak<T>

    Constructs a new Weak<T>, without allocating memory.\n+

    1.0.0 \u00b7 source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    source\u00a7

    impl<T: ?Sized> Debug for Weak<T>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.10.0 \u00b7 source\u00a7

    impl<T> Default for Weak<T>

    source\u00a7

    fn default() -> Weak<T>

    Constructs a new Weak<T>, without allocating memory.\n Calling upgrade on the return value always\n-gives None.

    \n+gives None.

    \n
    \u00a7Examples
    \n
    use std::sync::Weak;\n \n let empty: Weak<i64> = Default::default();\n assert!(empty.upgrade().is_none());
    Run
    \n-
    source\u00a7

    impl<T: ?Sized, A: Allocator> Drop for Weak<T, A>

    source\u00a7

    fn drop(&mut self)

    Drops the Weak pointer.

    \n+
    source\u00a7

    impl<T: ?Sized, A: Allocator> Drop for Weak<T, A>

    source\u00a7

    fn drop(&mut self)

    Drops the Weak pointer.

    \n
    \u00a7Examples
    \n
    use std::sync::{Arc, Weak};\n \n struct Foo;\n \n impl Drop for Foo {\n     fn drop(&mut self) {\n@@ -217,25 +217,25 @@\n let weak_foo = Arc::downgrade(&foo);\n let other_weak_foo = Weak::clone(&weak_foo);\n \n drop(weak_foo);   // Doesn't print anything\n drop(foo);        // Prints \"dropped!\"\n \n assert!(other_weak_foo.upgrade().is_none());
    Run
    \n-
    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<Weak<U, A>> for Weak<T, A>

    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Weak<U>> for Weak<T>

    source\u00a7

    impl<T: ?Sized + Sync + Send, A: Allocator + Send> Send for Weak<T, A>

    source\u00a7

    impl<T: ?Sized + Sync + Send, A: Allocator + Sync> Sync for Weak<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T: ?Sized, A> Freeze for Weak<T, A>
    where\n- A: Freeze,

    \u00a7

    impl<T: ?Sized, A> RefUnwindSafe for Weak<T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<T: ?Sized, A> Unpin for Weak<T, A>
    where\n- A: Unpin,

    \u00a7

    impl<T: ?Sized, A> UnwindSafe for Weak<T, A>
    where\n- A: UnwindSafe,\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+
    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<Weak<U, A>> for Weak<T, A>

    source\u00a7

    impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Weak<U>> for Weak<T>

    source\u00a7

    impl<T: ?Sized + Sync + Send, A: Allocator + Send> Send for Weak<T, A>

    source\u00a7

    impl<T: ?Sized + Sync + Send, A: Allocator + Sync> Sync for Weak<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T: ?Sized, A> Freeze for Weak<T, A>
    where\n+ A: Freeze,

    \u00a7

    impl<T: ?Sized, A> RefUnwindSafe for Weak<T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<T: ?Sized, A> Unpin for Weak<T, A>
    where\n+ A: Unpin,

    \u00a7

    impl<T: ?Sized, A> UnwindSafe for Weak<T, A>
    where\n+ A: UnwindSafe,\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n+From<T> for U chooses to do.

    \n
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+ T: Clone,
    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/task/trait.LocalWake.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/task/trait.LocalWake.html", "unified_diff": "@@ -85,9 +85,9 @@\n block_on(async {\n println!(\"hello world\");\n });
    Run\n

    Required Methods\u00a7

    source

    fn wake(self: Rc<Self>)

    \ud83d\udd2cThis is a nightly-only experimental API. (local_waker #118959)

    Wake this task.

    \n

    Provided Methods\u00a7

    source

    fn wake_by_ref(self: &Rc<Self>)

    \ud83d\udd2cThis is a nightly-only experimental API. (local_waker #118959)

    Wake this task without consuming the local waker.

    \n

    If an executor supports a cheaper way to wake without consuming the\n waker, it should override this method. By default, it clones the\n-Rc and calls wake on the clone.

    \n+Rc and calls wake on the clone.

    \n

    Object Safety\u00a7

    This trait is not object safe.

    Implementors\u00a7

    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/task/trait.Wake.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/task/trait.Wake.html", "unified_diff": "@@ -2,25 +2,25 @@\n

    Trait alloc::task::Wake

    1.51.0 \u00b7 source \u00b7
    pub trait Wake {\n     // Required method\n     fn wake(self: Arc<Self>);\n \n     // Provided method\n     fn wake_by_ref(self: &Arc<Self>) { ... }\n }
    Expand description

    The implementation of waking a task on an executor.

    \n-

    This trait can be used to create a Waker. An executor can define an\n-implementation of this trait, and use that to construct a Waker to pass\n+

    This trait can be used to create a Waker. An executor can define an\n+implementation of this trait, and use that to construct a Waker to pass\n to the tasks that are executed on that executor.

    \n

    This trait is a memory-safe and ergonomic alternative to constructing a\n-RawWaker. It supports the common executor design in which the data used\n+RawWaker. It supports the common executor design in which the data used\n to wake up a task is stored in an Arc. Some executors (especially\n-those for embedded systems) cannot use this API, which is why RawWaker\n+those for embedded systems) cannot use this API, which is why RawWaker\n exists as an alternative for those systems.

    \n-

    To construct a Waker from some type W implementing this trait,\n+

    To construct a Waker from some type W implementing this trait,\n wrap it in an Arc<W> and call Waker::from() on that.\n-It is also possible to convert to RawWaker in the same way.

    \n+It is also possible to convert to RawWaker in the same way.

    \n \n

    \u00a7Examples

    \n

    A basic block_on function that takes a future and runs it to completion on\n the current thread.

    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/vec/index.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/vec/index.html", "unified_diff": "@@ -22,13 +22,13 @@\n \n v.push(3);Run
    \n

    Popping values works in much the same way:

    \n \n
    let mut v = vec![1, 2];\n \n let two = v.pop();
    Run
    \n-

    Vectors also support indexing (through the Index and IndexMut traits):

    \n+

    Vectors also support indexing (through the Index and IndexMut traits):

    \n \n
    let mut v = vec![1, 2, 3];\n let three = v[2];\n v[1] = v[1] + 5;
    Run
    \n

    Structs\u00a7

    • A draining iterator for Vec<T>.
    • An iterator that moves out of a vector.
    • A splicing iterator for Vec.
    • A contiguous growable array type, written as Vec<T>, short for \u2018vector\u2019.
    • ExtractIfExperimental
      An iterator which uses a closure to determine if an element should be removed.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/vec/struct.Drain.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/vec/struct.Drain.html", "unified_diff": "@@ -1,22 +1,22 @@\n Drain in alloc::vec - Rust
    \n

    Struct alloc::vec::Drain

    1.6.0 \u00b7 source \u00b7
    pub struct Drain<'a, T: 'a, A: Allocator + 'a = Global> { /* private fields */ }
    Expand description

    A draining iterator for Vec<T>.

    \n

    This struct is created by Vec::drain.\n See its documentation for more.

    \n

    \u00a7Example

    \n
    let mut v = vec![0, 1, 2];\n let iter: std::vec::Drain<'_, _> = v.drain(..);
    Run
    \n-

    Implementations\u00a7

    source\u00a7

    impl<'a, T, A: Allocator> Drain<'a, T, A>

    1.46.0 \u00b7 source

    pub fn as_slice(&self) -> &[T]

    Returns the remaining items of this iterator as a slice.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<'a, T, A: Allocator> Drain<'a, T, A>

    1.46.0 \u00b7 source

    pub fn as_slice(&self) -> &[T]

    Returns the remaining items of this iterator as a slice.

    \n
    \u00a7Examples
    \n
    let mut vec = vec!['a', 'b', 'c'];\n let mut drain = vec.drain(..);\n assert_eq!(drain.as_slice(), &['a', 'b', 'c']);\n let _ = drain.next().unwrap();\n assert_eq!(drain.as_slice(), &['b', 'c']);
    Run
    \n-
    source

    pub fn allocator(&self) -> &A

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Returns a reference to the underlying allocator.

    \n+
    source

    pub fn allocator(&self) -> &A

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Returns a reference to the underlying allocator.

    \n
    source

    pub fn keep_rest(self)

    \ud83d\udd2cThis is a nightly-only experimental API. (drain_keep_rest #101122)

    Keep unyielded elements in the source Vec.

    \n
    \u00a7Examples
    \n
    #![feature(drain_keep_rest)]\n \n let mut vec = vec!['a', 'b', 'c'];\n let mut drain = vec.drain(..);\n \n@@ -24,218 +24,218 @@\n \n // This call keeps 'b' and 'c' in the vec.\n drain.keep_rest();\n \n // If we wouldn't call `keep_rest()`,\n // `vec` would be empty.\n assert_eq!(vec, ['b', 'c']);
    Run
    \n-

    Trait Implementations\u00a7

    1.46.0 \u00b7 source\u00a7

    impl<'a, T, A: Allocator> AsRef<[T]> for Drain<'a, T, A>

    source\u00a7

    fn as_ref(&self) -> &[T]

    Converts this type into a shared reference of the (usually inferred) input type.
    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for Drain<'_, T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T, A: Allocator> DoubleEndedIterator for Drain<'_, T, A>

    source\u00a7

    fn next_back(&mut self) -> Option<T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T, A: Allocator> Drop for Drain<'_, T, A>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source\u00a7

    impl<T, A: Allocator> ExactSizeIterator for Drain<'_, T, A>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<T, A: Allocator> Iterator for Drain<'_, T, A>

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    1.46.0 \u00b7 source\u00a7

    impl<'a, T, A: Allocator> AsRef<[T]> for Drain<'a, T, A>

    source\u00a7

    fn as_ref(&self) -> &[T]

    Converts this type into a shared reference of the (usually inferred) input type.
    1.17.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for Drain<'_, T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T, A: Allocator> DoubleEndedIterator for Drain<'_, T, A>

    source\u00a7

    fn next_back(&mut self) -> Option<T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T, A: Allocator> Drop for Drain<'_, T, A>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source\u00a7

    impl<T, A: Allocator> ExactSizeIterator for Drain<'_, T, A>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<T, A: Allocator> Iterator for Drain<'_, T, A>

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T, A: Allocator> FusedIterator for Drain<'_, T, A>

    source\u00a7

    impl<T: Send, A: Send + Allocator> Send for Drain<'_, T, A>

    source\u00a7

    impl<T: Sync, A: Sync + Allocator> Sync for Drain<'_, T, A>

    source\u00a7

    impl<T, A: Allocator> TrustedLen for Drain<'_, T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, A> Freeze for Drain<'a, T, A>

    \u00a7

    impl<'a, T, A> RefUnwindSafe for Drain<'a, T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Unpin for Drain<'a, T, A>

    \u00a7

    impl<'a, T, A> UnwindSafe for Drain<'a, T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T, A: Allocator> FusedIterator for Drain<'_, T, A>

    source\u00a7

    impl<T: Send, A: Send + Allocator> Send for Drain<'_, T, A>

    source\u00a7

    impl<T: Sync, A: Sync + Allocator> Sync for Drain<'_, T, A>

    source\u00a7

    impl<T, A: Allocator> TrustedLen for Drain<'_, T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, A> Freeze for Drain<'a, T, A>

    \u00a7

    impl<'a, T, A> RefUnwindSafe for Drain<'a, T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, A> Unpin for Drain<'a, T, A>

    \u00a7

    impl<'a, T, A> UnwindSafe for Drain<'a, T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/vec/struct.ExtractIf.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/vec/struct.ExtractIf.html", "unified_diff": "@@ -1,215 +1,215 @@\n ExtractIf in alloc::vec - Rust
    \n

    Struct alloc::vec::ExtractIf

    source \u00b7
    pub struct ExtractIf<'a, T, F, A: Allocator = Global>
    where\n- F: FnMut(&mut T) -> bool,
    { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (extract_if #43244)
    Expand description

    An iterator which uses a closure to determine if an element should be removed.

    \n+ F: FnMut(&mut T) -> bool,
    { /* private fields */ }
    \ud83d\udd2cThis is a nightly-only experimental API. (extract_if #43244)
    Expand description

    An iterator which uses a closure to determine if an element should be removed.

    \n

    This struct is created by Vec::extract_if.\n See its documentation for more.

    \n

    \u00a7Example

    \n
    #![feature(extract_if)]\n \n let mut v = vec![0, 1, 2];\n let iter: std::vec::ExtractIf<'_, _, _> = v.extract_if(|x| *x % 2 == 0);
    Run
    \n

    Implementations\u00a7

    source\u00a7

    impl<T, F, A: Allocator> ExtractIf<'_, T, F, A>
    where\n- F: FnMut(&mut T) -> bool,

    source

    pub fn allocator(&self) -> &A

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Returns a reference to the underlying allocator.

    \n+ F: FnMut(&mut T) -> bool,
    source

    pub fn allocator(&self) -> &A

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Returns a reference to the underlying allocator.

    \n

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, T: Debug, F, A: Debug + Allocator> Debug for ExtractIf<'a, T, F, A>
    where\n- F: FnMut(&mut T) -> bool + Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T, F, A: Allocator> Drop for ExtractIf<'_, T, F, A>
    where\n- F: FnMut(&mut T) -> bool,

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source\u00a7

    impl<T, F, A: Allocator> Iterator for ExtractIf<'_, T, F, A>
    where\n- F: FnMut(&mut T) -> bool,

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+ F: FnMut(&mut T) -> bool + Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<T, F, A: Allocator> Drop for ExtractIf<'_, T, F, A>
    where\n+ F: FnMut(&mut T) -> bool,

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source\u00a7

    impl<T, F, A: Allocator> Iterator for ExtractIf<'_, T, F, A>
    where\n+ F: FnMut(&mut T) -> bool,

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, F, A> Freeze for ExtractIf<'a, T, F, A>
    where\n- F: Freeze,

    \u00a7

    impl<'a, T, F, A> RefUnwindSafe for ExtractIf<'a, T, F, A>
    where\n- A: RefUnwindSafe,\n- F: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<'a, T, F, A> Send for ExtractIf<'a, T, F, A>
    where\n- A: Send,\n- F: Send,\n- T: Send,

    \u00a7

    impl<'a, T, F, A> Sync for ExtractIf<'a, T, F, A>
    where\n- A: Sync,\n- F: Sync,\n- T: Sync,

    \u00a7

    impl<'a, T, F, A> Unpin for ExtractIf<'a, T, F, A>
    where\n- F: Unpin,

    \u00a7

    impl<'a, T, F, A = Global> !UnwindSafe for ExtractIf<'a, T, F, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, T, F, A> Freeze for ExtractIf<'a, T, F, A>
    where\n+ F: Freeze,

    \u00a7

    impl<'a, T, F, A> RefUnwindSafe for ExtractIf<'a, T, F, A>
    where\n+ A: RefUnwindSafe,\n+ F: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<'a, T, F, A> Send for ExtractIf<'a, T, F, A>
    where\n+ A: Send,\n+ F: Send,\n+ T: Send,

    \u00a7

    impl<'a, T, F, A> Sync for ExtractIf<'a, T, F, A>
    where\n+ A: Sync,\n+ F: Sync,\n+ T: Sync,

    \u00a7

    impl<'a, T, F, A> Unpin for ExtractIf<'a, T, F, A>
    where\n+ F: Unpin,

    \u00a7

    impl<'a, T, F, A = Global> !UnwindSafe for ExtractIf<'a, T, F, A>

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/vec/struct.IntoIter.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/vec/struct.IntoIter.html", "unified_diff": "@@ -1,241 +1,241 @@\n IntoIter in alloc::vec - Rust
    \n

    Struct alloc::vec::IntoIter

    1.0.0 \u00b7 source \u00b7
    pub struct IntoIter<T, A: Allocator = Global> { /* private fields */ }
    Expand description

    An iterator that moves out of a vector.

    \n

    This struct is created by the into_iter method on Vec\n-(provided by the IntoIterator trait).

    \n+(provided by the IntoIterator trait).

    \n

    \u00a7Example

    \n
    let v = vec![0, 1, 2];\n let iter: std::vec::IntoIter<_> = v.into_iter();
    Run
    \n-

    Implementations\u00a7

    source\u00a7

    impl<T, A: Allocator> IntoIter<T, A>

    1.15.0 \u00b7 source

    pub fn as_slice(&self) -> &[T]

    Returns the remaining items of this iterator as a slice.

    \n+

    Implementations\u00a7

    source\u00a7

    impl<T, A: Allocator> IntoIter<T, A>

    1.15.0 \u00b7 source

    pub fn as_slice(&self) -> &[T]

    Returns the remaining items of this iterator as a slice.

    \n
    \u00a7Examples
    \n
    let vec = vec!['a', 'b', 'c'];\n let mut into_iter = vec.into_iter();\n assert_eq!(into_iter.as_slice(), &['a', 'b', 'c']);\n let _ = into_iter.next().unwrap();\n assert_eq!(into_iter.as_slice(), &['b', 'c']);
    Run
    \n-
    1.15.0 \u00b7 source

    pub fn as_mut_slice(&mut self) -> &mut [T]

    Returns the remaining items of this iterator as a mutable slice.

    \n+
    1.15.0 \u00b7 source

    pub fn as_mut_slice(&mut self) -> &mut [T]

    Returns the remaining items of this iterator as a mutable slice.

    \n
    \u00a7Examples
    \n
    let vec = vec!['a', 'b', 'c'];\n let mut into_iter = vec.into_iter();\n assert_eq!(into_iter.as_slice(), &['a', 'b', 'c']);\n into_iter.as_mut_slice()[2] = 'z';\n assert_eq!(into_iter.next().unwrap(), 'a');\n assert_eq!(into_iter.next().unwrap(), 'b');\n assert_eq!(into_iter.next().unwrap(), 'z');
    Run
    \n-
    source

    pub fn allocator(&self) -> &A

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Returns a reference to the underlying allocator.

    \n-

    Trait Implementations\u00a7

    1.46.0 \u00b7 source\u00a7

    impl<T, A: Allocator> AsRef<[T]> for IntoIter<T, A>

    source\u00a7

    fn as_ref(&self) -> &[T]

    Converts this type into a shared reference of the (usually inferred) input type.
    1.8.0 \u00b7 source\u00a7

    impl<T: Clone, A: Allocator + Clone> Clone for IntoIter<T, A>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.13.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for IntoIter<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<T, A> Default for IntoIter<T, A>
    where\n- A: Allocator + Default,

    source\u00a7

    fn default() -> Self

    Creates an empty vec::IntoIter.

    \n+
    source

    pub fn allocator(&self) -> &A

    \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

    Returns a reference to the underlying allocator.

    \n+

    Trait Implementations\u00a7

    1.46.0 \u00b7 source\u00a7

    impl<T, A: Allocator> AsRef<[T]> for IntoIter<T, A>

    source\u00a7

    fn as_ref(&self) -> &[T]

    Converts this type into a shared reference of the (usually inferred) input type.
    1.8.0 \u00b7 source\u00a7

    impl<T: Clone, A: Allocator + Clone> Clone for IntoIter<T, A>

    source\u00a7

    fn clone(&self) -> Self

    Returns a copy of the value. Read more
    source\u00a7

    fn clone_from(&mut self, source: &Self)

    Performs copy-assignment from source. Read more
    1.13.0 \u00b7 source\u00a7

    impl<T: Debug, A: Allocator> Debug for IntoIter<T, A>

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    1.70.0 \u00b7 source\u00a7

    impl<T, A> Default for IntoIter<T, A>
    where\n+ A: Allocator + Default,

    source\u00a7

    fn default() -> Self

    Creates an empty vec::IntoIter.

    \n \n
    let iter: vec::IntoIter<u8> = Default::default();\n assert_eq!(iter.len(), 0);\n assert_eq!(iter.as_slice(), &[]);
    Run
    \n-
    source\u00a7

    impl<T, A: Allocator> DoubleEndedIterator for IntoIter<T, A>

    source\u00a7

    fn next_back(&mut self) -> Option<T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T, A: Allocator> Drop for IntoIter<T, A>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source\u00a7

    impl<T, A: Allocator> ExactSizeIterator for IntoIter<T, A>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<T, A: Allocator> Iterator for IntoIter<T, A>

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn next_chunk<const N: usize>(&mut self) -> Result<[T; N], IntoIter<T, N>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+
    source\u00a7

    impl<T, A: Allocator> DoubleEndedIterator for IntoIter<T, A>

    source\u00a7

    fn next_back(&mut self) -> Option<T>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<T, A: Allocator> Drop for IntoIter<T, A>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source\u00a7

    impl<T, A: Allocator> ExactSizeIterator for IntoIter<T, A>

    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    impl<T, A: Allocator> Iterator for IntoIter<T, A>

    \u00a7

    type Item = T

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<T>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    source\u00a7

    fn count(self) -> usize

    Consumes the iterator, counting the number of iterations and returning it. Read more
    source\u00a7

    fn next_chunk<const N: usize>(&mut self) -> Result<[T; N], IntoIter<T, N>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    1.21.0 \u00b7 source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T, A: Allocator> FusedIterator for IntoIter<T, A>

    source\u00a7

    impl<T: Send, A: Allocator + Send> Send for IntoIter<T, A>

    source\u00a7

    impl<T: Sync, A: Allocator + Sync> Sync for IntoIter<T, A>

    source\u00a7

    impl<T, A: Allocator> TrustedLen for IntoIter<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for IntoIter<T, A>
    where\n- A: Freeze,

    \u00a7

    impl<T, A> RefUnwindSafe for IntoIter<T, A>
    where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

    \u00a7

    impl<T, A> Unpin for IntoIter<T, A>
    where\n- A: Unpin,\n- T: Unpin,

    \u00a7

    impl<T, A> UnwindSafe for IntoIter<T, A>
    where\n- A: UnwindSafe,\n- T: UnwindSafe + RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more
    1.26.0 \u00b7 source\u00a7

    impl<T, A: Allocator> FusedIterator for IntoIter<T, A>

    source\u00a7

    impl<T: Send, A: Allocator + Send> Send for IntoIter<T, A>

    source\u00a7

    impl<T: Sync, A: Allocator + Sync> Sync for IntoIter<T, A>

    source\u00a7

    impl<T, A: Allocator> TrustedLen for IntoIter<T, A>

    Auto Trait Implementations\u00a7

    \u00a7

    impl<T, A> Freeze for IntoIter<T, A>
    where\n+ A: Freeze,

    \u00a7

    impl<T, A> RefUnwindSafe for IntoIter<T, A>
    where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

    \u00a7

    impl<T, A> Unpin for IntoIter<T, A>
    where\n+ A: Unpin,\n+ T: Unpin,

    \u00a7

    impl<T, A> UnwindSafe for IntoIter<T, A>
    where\n+ A: UnwindSafe,\n+ T: UnwindSafe + RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n- T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T> ToOwned for T
    where\n+ T: Clone,

    \u00a7

    type Owned = T

    The resulting type after obtaining ownership.
    source\u00a7

    fn to_owned(&self) -> T

    Creates owned data from borrowed data, usually by cloning. Read more
    source\u00a7

    fn clone_into(&self, target: &mut T)

    Uses borrowed data to replace owned data, usually by cloning. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/vec/struct.Splice.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/vec/struct.Splice.html", "unified_diff": "@@ -1,230 +1,230 @@\n Splice in alloc::vec - Rust
    \n-

    Struct alloc::vec::Splice

    1.21.0 \u00b7 source \u00b7
    pub struct Splice<'a, I: Iterator + 'a, A: Allocator + 'a = Global> { /* private fields */ }
    Expand description

    A splicing iterator for Vec.

    \n+

    Struct alloc::vec::Splice

    1.21.0 \u00b7 source \u00b7
    pub struct Splice<'a, I: Iterator + 'a, A: Allocator + 'a = Global> { /* private fields */ }
    Expand description

    A splicing iterator for Vec.

    \n

    This struct is created by Vec::splice().\n See its documentation for more.

    \n

    \u00a7Example

    \n
    let mut v = vec![0, 1, 2];\n let new = [7, 8];\n let iter: std::vec::Splice<'_, _> = v.splice(1.., new);
    Run
    \n-

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, I: Debug + Iterator + 'a, A: Debug + Allocator + 'a> Debug for Splice<'a, I, A>
    where\n- I::Item: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<I: Iterator, A: Allocator> DoubleEndedIterator for Splice<'_, I, A>

    source\u00a7

    fn next_back(&mut self) -> Option<Self::Item>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n-elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n-final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<I: Iterator, A: Allocator> Drop for Splice<'_, I, A>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source\u00a7

    impl<I: Iterator, A: Allocator> ExactSizeIterator for Splice<'_, I, A>

    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<I: Iterator, A: Allocator> Iterator for Splice<'_, I, A>

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<Self::Item>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n+

    Trait Implementations\u00a7

    source\u00a7

    impl<'a, I: Debug + Iterator + 'a, A: Debug + Allocator + 'a> Debug for Splice<'a, I, A>
    where\n+ I::Item: Debug,

    source\u00a7

    fn fmt(&self, f: &mut Formatter<'_>) -> Result

    Formats the value using the given formatter. Read more
    source\u00a7

    impl<I: Iterator, A: Allocator> DoubleEndedIterator for Splice<'_, I, A>

    source\u00a7

    fn next_back(&mut self) -> Option<Self::Item>

    Removes and returns an element from the end of the iterator. Read more
    source\u00a7

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator from the back by n elements. Read more
    1.37.0 \u00b7 source\u00a7

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\n+elements starting from the back of the iterator. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator\u2019s elements to a single,\n+final value, starting from the back. Read more
    1.27.0 \u00b7 source\u00a7

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    source\u00a7

    impl<I: Iterator, A: Allocator> Drop for Splice<'_, I, A>

    source\u00a7

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    source\u00a7

    impl<I: Iterator, A: Allocator> ExactSizeIterator for Splice<'_, I, A>

    1.0.0 \u00b7 source\u00a7

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source\u00a7

    fn is_empty(&self) -> bool

    \ud83d\udd2cThis is a nightly-only experimental API. (exact_size_is_empty #35428)
    Returns true if the iterator is empty. Read more
    source\u00a7

    impl<I: Iterator, A: Allocator> Iterator for Splice<'_, I, A>

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source\u00a7

    fn next(&mut self) -> Option<Self::Item>

    Advances the iterator and returns the next value. Read more
    source\u00a7

    fn size_hint(&self) -> (usize, Option<usize>)

    Returns the bounds on the remaining length of the iterator. Read more
    source\u00a7

    fn next_chunk<const N: usize>(\n &mut self\n-) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n- Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n- Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n- Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n-the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n- Self: Sized,\n- U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n- Self: Sized,\n- G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n-between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n-element. Read more
    source\u00a7

    fn for_each<F>(self, f: F)
    where\n- Self: Sized,\n- F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n-should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n- Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n-the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n- Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n+) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n+ Self: Sized,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_next_chunk #98326)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 \u00b7 source\u00a7

    fn count(self) -> usize
    where\n+ Self: Sized,

    Consumes the iterator, counting the number of iterations and returning it. Read more
    1.0.0 \u00b7 source\u00a7

    fn last(self) -> Option<Self::Item>
    where\n+ Self: Sized,

    Consumes the iterator, returning the last element. Read more
    source\u00a7

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_advance_by #77404)
    Advances the iterator by n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn nth(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element of the iterator. Read more
    1.28.0 \u00b7 source\u00a7

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n+ Self: Sized,

    Creates an iterator starting at the same point, but stepping by\n+the given amount at each iteration. Read more
    1.0.0 \u00b7 source\u00a7

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 \u00b7 source\u00a7

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n+ Self: Sized,\n+ U: IntoIterator,

    \u2018Zips up\u2019 two iterators into a single iterator of pairs. Read more
    source\u00a7

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n+ Self: Sized,\n+ G: FnMut() -> Self::Item,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_intersperse #79524)
    Creates a new iterator which places an item generated by separator\n+between adjacent items of the original iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\n+element. Read more
    source\u00a7

    fn for_each<F>(self, f: F)
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\n+should be yielded. Read more
    1.0.0 \u00b7 source\u00a7

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn enumerate(self) -> Enumerate<Self>
    where\n+ Self: Sized,

    Creates an iterator which gives the current iteration count as well as\n+the next value. Read more
    1.0.0 \u00b7 source\u00a7

    fn peekable(self) -> Peekable<Self>
    where\n+ Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\n to look at the next element of the iterator without consuming it. See\n-their documentation for more information. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n- Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n- Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n-if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n- Self: Sized,\n- F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n-unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n- Self: Sized,\n- U: IntoIterator,\n- F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n- Self: Sized,\n- F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n-self and returns an iterator over the outputs of f. Like slice::windows(),\n-the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n- Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n- Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n- B: FromIterator<Self::Item>,\n- Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n- E: Extend<Self::Item>,\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n- Self: Sized,\n- B: Default + Extend<Self::Item>,\n- F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n+their documentation for more information. Read more

    1.0.0 \u00b7 source\u00a7

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 \u00b7 source\u00a7

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both yields elements based on a predicate and maps. Read more
    1.0.0 \u00b7 source\u00a7

    fn skip(self, n: usize) -> Skip<Self>
    where\n+ Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn take(self, n: usize) -> Take<Self>
    where\n+ Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\n+if the underlying iterator ends sooner. Read more
    1.0.0 \u00b7 source\u00a7

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n+ Self: Sized,\n+ F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\n+unlike fold, produces a new iterator. Read more
    1.0.0 \u00b7 source\u00a7

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n+ Self: Sized,\n+ U: IntoIterator,\n+ F: FnMut(Self::Item) -> U,

    Creates an iterator that works like map, but flattens nested structure. Read more
    source\u00a7

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n+ Self: Sized,\n+ F: FnMut(&[Self::Item; N]) -> R,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_map_windows #87155)
    Calls the given function f for each contiguous window of size N over\n+self and returns an iterator over the outputs of f. Like slice::windows(),\n+the windows during mapping overlap as well. Read more
    1.0.0 \u00b7 source\u00a7

    fn fuse(self) -> Fuse<Self>
    where\n+ Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 \u00b7 source\u00a7

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item),

    Does something with each element of an iterator, passing the value on. Read more
    1.0.0 \u00b7 source\u00a7

    fn by_ref(&mut self) -> &mut Self
    where\n+ Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 \u00b7 source\u00a7

    fn collect<B>(self) -> B
    where\n+ B: FromIterator<Self::Item>,\n+ Self: Sized,

    Transforms an iterator into a collection. Read more
    source\u00a7

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n+ E: Extend<Self::Item>,\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_collect_into #94780)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 \u00b7 source\u00a7

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n+ Self: Sized,\n+ B: Default + Extend<Self::Item>,\n+ F: FnMut(&Self::Item) -> bool,

    Consumes an iterator, creating two collections from it. Read more
    source\u00a7

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where\n T: 'a,\n- Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n- P: FnMut(&T) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n+ Self: Sized + DoubleEndedIterator<Item = &'a mut T>,\n+ P: FnMut(&T) -> bool,
    \ud83d\udd2cThis is a nightly-only experimental API. (iter_partition_in_place #62543)
    Reorders the elements of this iterator in-place according to the given predicate,\n such that all those that return true precede all those that return false.\n-Returns the number of true elements found. Read more
    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n-such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> R,\n- R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n-successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> R,\n- R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n-iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n- Self: Sized,\n- F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n-returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n-operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n+Returns the number of true elements found. Read more

    source\u00a7

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_is_partitioned #62544)
    Checks if the elements of this iterator are partitioned according to the given predicate,\n+such that all those that return true precede all those that return false. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> R,\n+ R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\n+successfully, producing a single, final value. Read more
    1.27.0 \u00b7 source\u00a7

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> R,\n+ R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\n+iterator, stopping at the first error and returning that error. Read more
    1.0.0 \u00b7 source\u00a7

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n+ Self: Sized,\n+ F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\n+returning the final result. Read more
    1.51.0 \u00b7 source\u00a7

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\n+operation. Read more
    source\u00a7

    fn try_reduce<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(Self::Item, Self::Item) -> R,\n- R: Try<Output = Self::Item>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n-closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n- Self: Sized,\n- P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n-the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n+) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item, Self::Item) -> R,\n+ R: Try<Output = Self::Item>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iterator_try_reduce #87053)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\n+closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 \u00b7 source\u00a7

    fn all<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn any<F>(&mut self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 \u00b7 source\u00a7

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 \u00b7 source\u00a7

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\n+the first non-none result. Read more
    source\u00a7

    fn try_find<F, R>(\n &mut self,\n f: F\n-) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n- Self: Sized,\n- F: FnMut(&Self::Item) -> R,\n- R: Try<Output = bool>,\n- <R as Try>::Residual: Residual<Option<Self::Item>>,

    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n-the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n- Self: Sized,\n- P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n- P: FnMut(Self::Item) -> bool,\n- Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n-index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n-specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n- B: Ord,\n- Self: Sized,\n- F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n-specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n-specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n- Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n- FromA: Default + Extend<A>,\n- FromB: Default + Extend<B>,\n- Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n- T: 'a + Copy,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n- T: 'a + Clone,\n- Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n- Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n- Self: Sized,\n- S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n- Self: Sized,\n- P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Lexicographically compares the PartialOrd elements of\n-this Iterator with those of another. The comparison works like short-circuit\n+) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> R,\n+ R: Try<Output = bool>,\n+ <R as Try>::Residual: Residual<Option<Self::Item>>,
    \ud83d\udd2cThis is a nightly-only experimental API. (try_find #63178)
    Applies function to the elements of iterator and returns\n+the first true result or the first error. Read more
    1.0.0 \u00b7 source\u00a7

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ Self: Sized,\n+ P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 \u00b7 source\u00a7

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where\n+ P: FnMut(Self::Item) -> bool,\n+ Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its\n+index. Read more
    1.6.0 \u00b7 source\u00a7

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\n+specified comparison function. Read more
    1.6.0 \u00b7 source\u00a7

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n+ B: Ord,\n+ Self: Sized,\n+ F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\n+specified function. Read more
    1.15.0 \u00b7 source\u00a7

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\n+specified comparison function. Read more
    1.0.0 \u00b7 source\u00a7

    fn rev(self) -> Rev<Self>
    where\n+ Self: Sized + DoubleEndedIterator,

    Reverses an iterator\u2019s direction. Read more
    1.0.0 \u00b7 source\u00a7

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n+ FromA: Default + Extend<A>,\n+ FromB: Default + Extend<B>,\n+ Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 \u00b7 source\u00a7

    fn copied<'a, T>(self) -> Copied<Self>
    where\n+ T: 'a + Copy,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 \u00b7 source\u00a7

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n+ T: 'a + Clone,\n+ Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    source\u00a7

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n+ Self: Sized,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_array_chunks #100450)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 \u00b7 source\u00a7

    fn sum<S>(self) -> S
    where\n+ Self: Sized,\n+ S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 \u00b7 source\u00a7

    fn product<P>(self) -> P
    where\n+ Self: Sized,\n+ P: Product<Self::Item>,

    Iterates over the entire iterator, multiplying all the elements Read more
    source\u00a7

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Lexicographically compares the PartialOrd elements of\n+this Iterator with those of another. The comparison works like short-circuit\n evaluation, returning a result without comparing the remaining elements.\n-As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n-of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n-another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n- Self: Sized,\n- I: IntoIterator,\n- F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n-another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialEq<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n-another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n- I: IntoIterator,\n- Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n- Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n-greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n- Self: Sized,\n- F: FnMut(Self::Item) -> K,\n- K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n-function. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, I, A> Freeze for Splice<'a, I, A>
    where\n- I: Freeze,

    \u00a7

    impl<'a, I, A> RefUnwindSafe for Splice<'a, I, A>
    where\n- A: RefUnwindSafe,\n- I: RefUnwindSafe,\n- <I as Iterator>::Item: RefUnwindSafe,

    \u00a7

    impl<'a, I, A> Send for Splice<'a, I, A>
    where\n- A: Send,\n- I: Send,\n- <I as Iterator>::Item: Send,

    \u00a7

    impl<'a, I, A> Sync for Splice<'a, I, A>
    where\n- A: Sync,\n- I: Sync,\n- <I as Iterator>::Item: Sync,

    \u00a7

    impl<'a, I, A> Unpin for Splice<'a, I, A>
    where\n- I: Unpin,

    \u00a7

    impl<'a, I, A> UnwindSafe for Splice<'a, I, A>
    where\n- A: RefUnwindSafe,\n- I: UnwindSafe,\n- <I as Iterator>::Item: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n- T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n- T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n-
    source\u00a7

    impl<T, U> Into<U> for T
    where\n- U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n+As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source\u00a7

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Lexicographically compares the elements of this Iterator with those\n+of another with respect to the specified comparison function. Read more
    1.5.0 \u00b7 source\u00a7

    fn eq<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are equal to those of\n+another. Read more
    source\u00a7

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n+ Self: Sized,\n+ I: IntoIterator,\n+ F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (iter_order_by #64295)
    Determines if the elements of this Iterator are equal to those of\n+another with respect to the specified equality function. Read more
    1.5.0 \u00b7 source\u00a7

    fn ne<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialEq<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\n+another. Read more
    1.5.0 \u00b7 source\u00a7

    fn lt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn le<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+less or equal to those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn gt<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than those of another. Read more
    1.5.0 \u00b7 source\u00a7

    fn ge<I>(self, other: I) -> bool
    where\n+ I: IntoIterator,\n+ Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n+ Self: Sized,

    Determines if the elements of this Iterator are lexicographically\n+greater than or equal to those of another. Read more
    source\u00a7

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(&Self::Item, &Self::Item) -> bool,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source\u00a7

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n+ Self: Sized,\n+ F: FnMut(Self::Item) -> K,\n+ K: PartialOrd,

    \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)
    Checks if the elements of this iterator are sorted using the given key extraction\n+function. Read more

    Auto Trait Implementations\u00a7

    \u00a7

    impl<'a, I, A> Freeze for Splice<'a, I, A>
    where\n+ I: Freeze,

    \u00a7

    impl<'a, I, A> RefUnwindSafe for Splice<'a, I, A>
    where\n+ A: RefUnwindSafe,\n+ I: RefUnwindSafe,\n+ <I as Iterator>::Item: RefUnwindSafe,

    \u00a7

    impl<'a, I, A> Send for Splice<'a, I, A>
    where\n+ A: Send,\n+ I: Send,\n+ <I as Iterator>::Item: Send,

    \u00a7

    impl<'a, I, A> Sync for Splice<'a, I, A>
    where\n+ A: Sync,\n+ I: Sync,\n+ <I as Iterator>::Item: Sync,

    \u00a7

    impl<'a, I, A> Unpin for Splice<'a, I, A>
    where\n+ I: Unpin,

    \u00a7

    impl<'a, I, A> UnwindSafe for Splice<'a, I, A>
    where\n+ A: RefUnwindSafe,\n+ I: UnwindSafe,\n+ <I as Iterator>::Item: RefUnwindSafe,

    Blanket Implementations\u00a7

    source\u00a7

    impl<T> Any for T
    where\n+ T: 'static + ?Sized,

    source\u00a7

    fn type_id(&self) -> TypeId

    Gets the TypeId of self. Read more
    source\u00a7

    impl<T> Borrow<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    source\u00a7

    impl<T> BorrowMut<T> for T
    where\n+ T: ?Sized,

    source\u00a7

    fn borrow_mut(&mut self) -> &mut T

    Mutably borrows from an owned value. Read more
    source\u00a7

    impl<T> From<T> for T

    source\u00a7

    fn from(t: T) -> T

    Returns the argument unchanged.

    \n+
    source\u00a7

    impl<T, U> Into<U> for T
    where\n+ U: From<T>,

    source\u00a7

    fn into(self) -> U

    Calls U::from(self).

    \n

    That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

    \n-
    source\u00a7

    impl<I> IntoIterator for I
    where\n- I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n- U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n- U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n+From<T> for U chooses to do.

    \n+
    source\u00a7

    impl<I> IntoIterator for I
    where\n+ I: Iterator,

    \u00a7

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    \u00a7

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable \u00b7 source\u00a7

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source\u00a7

    impl<T, U> TryFrom<U> for T
    where\n+ U: Into<T>,

    \u00a7

    type Error = Infallible

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

    Performs the conversion.
    source\u00a7

    impl<T, U> TryInto<U> for T
    where\n+ U: TryFrom<T>,

    \u00a7

    type Error = <U as TryFrom<T>>::Error

    The type returned in the event of a conversion error.
    source\u00a7

    fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

    Performs the conversion.
    \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/alloc/vec/struct.Vec.html", "source2": "./usr/share/doc/rust-web-doc/html/alloc/vec/struct.Vec.html", "unified_diff": "@@ -49,28 +49,28 @@\n \n while let Some(top) = stack.pop() {\n // Prints 3, 2, 1\n println!(\"{top}\");\n }
    Run\n

    \u00a7Indexing

    \n

    The Vec type allows access to values by index, because it implements the\n-Index trait. An example will be more explicit:

    \n+Index trait. An example will be more explicit:

    \n \n
    let v = vec![0, 2, 4, 6];\n println!(\"{}\", v[1]); // it will display '2'
    Run
    \n

    However be careful: if you try to access an index which isn\u2019t in the Vec,\n your software will panic! You cannot do this:

    \n \n
    \u24d8
    let v = vec![0, 2, 4, 6];\n println!(\"{}\", v[6]); // it will panic!
    Run
    \n-

    Use get and get_mut if you want to check whether the index is in\n+

    Use get and get_mut if you want to check whether the index is in\n the Vec.

    \n

    \u00a7Slicing

    \n

    A Vec can be mutable. On the other hand, slices are read-only objects.\n-To get a slice, use &. Example:

    \n+To get a slice, use &. Example:

    \n \n
    fn read_slice(slice: &[usize]) {\n     // ...\n }\n \n let v = vec![0, 1];\n read_slice(&v);\n@@ -78,15 +78,15 @@\n // ... and that's all!\n // you can also do it like this:\n let u: &[usize] = &v;\n // or like this:\n let u: &[_] = &v;
    Run
    \n

    In Rust, it\u2019s more common to pass slices as arguments rather than vectors\n when you just want to provide read access. The same goes for String and\n-&str.

    \n+&str.

    \n

    \u00a7Capacity and reallocation

    \n

    The capacity of a vector is the amount of space allocated for any future\n elements that will be added onto the vector. This is not to be confused with\n the length of a vector, which specifies the number of actual elements\n within the vector. If a vector\u2019s length exceeds its capacity, its capacity\n will automatically be increased, but its elements will have to be\n reallocated.

    \n@@ -109,15 +109,15 @@\n The pointer will never be null, so this type is null-pointer-optimized.

    \n

    However, the pointer might not actually point to allocated memory. In particular,\n if you construct a Vec with capacity 0 via Vec::new, vec![],\n Vec::with_capacity(0), or by calling shrink_to_fit\n on an empty Vec, it will not allocate memory. Similarly, if you store zero-sized\n types inside a Vec, it will not allocate space for them. Note that in this case\n the Vec might not report a capacity of 0. Vec will allocate if and only\n-if mem::size_of::<T>() * capacity() > 0. In general, Vec\u2019s allocation\n+if mem::size_of::<T>() * capacity() > 0. In general, Vec\u2019s allocation\n details are very subtle \u2014 if you intend to allocate memory using a Vec\n and use it for something else (either to pass to unsafe code, or to build your\n own memory-backed collection), be sure to deallocate this memory by using\n from_raw_parts to recover the Vec and then dropping it.

    \n

    If a Vec has allocated memory, then the memory it points to is on the heap\n (as defined by the allocator Rust is configured to use by default), and its\n pointer points to len initialized, contiguous elements in order (what\n@@ -134,15 +134,15 @@\n |\n v\n Heap +--------+--------+--------+--------+\n | 'a' | 'b' | uninit | uninit |\n +--------+--------+--------+--------+\n \n

      \n-
    • uninit represents memory that is not initialized, see MaybeUninit.
    • \n+
    • uninit represents memory that is not initialized, see MaybeUninit.
    • \n
    • Note: the ABI is not stable and Vec makes no guarantees about its memory\n layout (including the order of fields).
    • \n
    \n

    Vec will never perform a \u201csmall optimization\u201d where elements are actually\n stored on the stack for two reasons:

    \n
      \n
    • \n@@ -188,15 +188,15 @@\n and then increasing the length to match, is always valid.

      \n

      Currently, Vec does not guarantee the order in which elements are dropped.\n The order has changed in the past and may change again.

      \n

      Implementations\u00a7

      source\u00a7

      impl<T> Vec<T>

      const: 1.39.0 \u00b7 source

      pub const fn new() -> Self

      Constructs a new, empty Vec<T>.

      \n

      The vector will not allocate until elements are pushed onto it.

      \n
      \u00a7Examples
      \n
      let mut vec: Vec<i32> = Vec::new();
      Run
      \n-
      source

      pub fn with_capacity(capacity: usize) -> Self

      Constructs a new, empty Vec<T> with at least the specified capacity.

      \n+
      source

      pub fn with_capacity(capacity: usize) -> Self

      Constructs a new, empty Vec<T> with at least the specified capacity.

      \n

      The vector will be able to hold at least capacity elements without\n reallocating. This method is allowed to allocate for more elements than\n capacity. If capacity is 0, the vector will not allocate.

      \n

      It is important to note that although the returned vector has the\n minimum capacity specified, the vector will have a zero length. For\n an explanation of the difference between length and capacity, see\n Capacity and reallocation.

      \n@@ -225,25 +225,25 @@\n assert_eq!(vec.len(), 11);\n assert!(vec.capacity() >= 11);\n \n // A vector of a zero-sized type will always over-allocate, since no\n // allocation is necessary\n let vec_units = Vec::<()>::with_capacity(10);\n assert_eq!(vec_units.capacity(), usize::MAX);Run
      \n-
      source

      pub fn try_with_capacity(capacity: usize) -> Result<Self, TryReserveError>

      \ud83d\udd2cThis is a nightly-only experimental API. (try_with_capacity #91913)

      Constructs a new, empty Vec<T> with at least the specified capacity.

      \n+
      source

      pub fn try_with_capacity(capacity: usize) -> Result<Self, TryReserveError>

      \ud83d\udd2cThis is a nightly-only experimental API. (try_with_capacity #91913)

      Constructs a new, empty Vec<T> with at least the specified capacity.

      \n

      The vector will be able to hold at least capacity elements without\n reallocating. This method is allowed to allocate for more elements than\n capacity. If capacity is 0, the vector will not allocate.

      \n
      \u00a7Errors
      \n

      Returns an error if the capacity exceeds isize::MAX bytes,\n or if the allocator reports allocation failure.

      \n
      source

      pub unsafe fn from_raw_parts(\n- ptr: *mut T,\n- length: usize,\n- capacity: usize\n+ ptr: *mut T,\n+ length: usize,\n+ capacity: usize\n ) -> Self

      Creates a Vec<T> directly from a pointer, a length, and a capacity.

      \n
      \u00a7Safety
      \n

      This is highly unsafe, due to the number of invariants that aren\u2019t\n checked:

      \n
        \n
      • ptr must have been allocated using the global allocator, such as via\n the alloc::alloc function.
      • \n@@ -254,15 +254,15 @@\n
      • The size of T times the capacity (ie. the allocated size in bytes) needs\n to be the same size as the pointer was allocated with. (Because similar to\n alignment, dealloc must be called with the same layout size.)
      • \n
      • length needs to be less than or equal to capacity.
      • \n
      • The first length values must be properly initialized values of type T.
      • \n
      • capacity needs to be the capacity that the pointer was allocated with.
      • \n
      • The allocated size in bytes must be no larger than isize::MAX.\n-See the safety documentation of pointer::offset.
      • \n+See the safety documentation of pointer::offset.\n
      \n

      These requirements are always upheld by any ptr that has been allocated\n via Vec<T>. Other allocation sources are allowed if the invariants are\n upheld.

      \n

      Violating these may cause problems like corrupting the allocator\u2019s\n internal data structures. For example it is normally not safe\n to build a Vec<u8> from a pointer to a C char array with length\n@@ -329,15 +329,15 @@\n

      The vector will not allocate until elements are pushed onto it.

      \n
      \u00a7Examples
      \n
      #![feature(allocator_api)]\n \n use std::alloc::System;\n \n let mut vec: Vec<i32, _> = Vec::new_in(System);
      Run
      \n-
      source

      pub fn with_capacity_in(capacity: usize, alloc: A) -> Self

      \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

      Constructs a new, empty Vec<T, A> with at least the specified capacity\n+

      source

      pub fn with_capacity_in(capacity: usize, alloc: A) -> Self

      \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

      Constructs a new, empty Vec<T, A> with at least the specified capacity\n with the provided allocator.

      \n

      The vector will be able to hold at least capacity elements without\n reallocating. This method is allowed to allocate for more elements than\n capacity. If capacity is 0, the vector will not allocate.

      \n

      It is important to note that although the returned vector has the\n minimum capacity specified, the vector will have a zero length. For\n an explanation of the difference between length and capacity, see\n@@ -372,28 +372,28 @@\n assert!(vec.capacity() >= 11);\n \n // A vector of a zero-sized type will always over-allocate, since no\n // allocation is necessary\n let vec_units = Vec::<(), System>::with_capacity_in(10, System);\n assert_eq!(vec_units.capacity(), usize::MAX);Run

      \n
      source

      pub fn try_with_capacity_in(\n- capacity: usize,\n+ capacity: usize,\n alloc: A\n-) -> Result<Self, TryReserveError>

      \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

      Constructs a new, empty Vec<T, A> with at least the specified capacity\n+) -> Result<Self, TryReserveError>

      \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

      Constructs a new, empty Vec<T, A> with at least the specified capacity\n with the provided allocator.

      \n

      The vector will be able to hold at least capacity elements without\n reallocating. This method is allowed to allocate for more elements than\n capacity. If capacity is 0, the vector will not allocate.

      \n
      \u00a7Errors
      \n

      Returns an error if the capacity exceeds isize::MAX bytes,\n or if the allocator reports allocation failure.

      \n
      source

      pub unsafe fn from_raw_parts_in(\n- ptr: *mut T,\n- length: usize,\n- capacity: usize,\n+ ptr: *mut T,\n+ length: usize,\n+ capacity: usize,\n alloc: A\n ) -> Self

      \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

      Creates a Vec<T, A> directly from a pointer, a length, a capacity,\n and an allocator.

      \n
      \u00a7Safety
      \n

      This is highly unsafe, due to the number of invariants that aren\u2019t\n checked:

      \n
        \n@@ -405,15 +405,15 @@\n
      • The size of T times the capacity (ie. the allocated size in bytes) needs\n to be the same size as the pointer was allocated with. (Because similar to\n alignment, dealloc must be called with the same layout size.)
      • \n
      • length needs to be less than or equal to capacity.
      • \n
      • The first length values must be properly initialized values of type T.
      • \n
      • capacity needs to fit the layout size that the pointer was allocated with.
      • \n
      • The allocated size in bytes must be no larger than isize::MAX.\n-See the safety documentation of pointer::offset.
      • \n+See the safety documentation of pointer::offset.\n
      \n

      These requirements are always upheld by any ptr that has been allocated\n via Vec<T, A>. Other allocation sources are allowed if the invariants are\n upheld.

      \n

      Violating these may cause problems like corrupting the allocator\u2019s\n internal data structures. For example it is not safe\n to build a Vec<u8> from a pointer to a C char array with length size_t.\n@@ -478,15 +478,15 @@\n \n Vec::from_raw_parts_in(mem, 1, 16, Global)\n };\n \n assert_eq!(vec, &[1_000_000]);\n assert_eq!(vec.capacity(), 16);\n }Run

      \n-
      source

      pub fn into_raw_parts(self) -> (*mut T, usize, usize)

      \ud83d\udd2cThis is a nightly-only experimental API. (vec_into_raw_parts #65816)

      Decomposes a Vec<T> into its raw components: (pointer, length, capacity).

      \n+
      source

      pub fn into_raw_parts(self) -> (*mut T, usize, usize)

      \ud83d\udd2cThis is a nightly-only experimental API. (vec_into_raw_parts #65816)

      Decomposes a Vec<T> into its raw components: (pointer, length, capacity).

      \n

      Returns the raw pointer to the underlying data, the length of\n the vector (in elements), and the allocated capacity of the\n data (in elements). These are the same arguments in the same\n order as the arguments to from_raw_parts.

      \n

      After calling this function, the caller is responsible for the\n memory previously managed by the Vec. The only way to do\n this is to convert the raw pointer, length, and capacity back\n@@ -502,15 +502,15 @@\n // We can now make changes to the components, such as\n // transmuting the raw pointer to a compatible type.\n let ptr = ptr as *mut u32;\n \n Vec::from_raw_parts(ptr, len, cap)\n };\n assert_eq!(rebuilt, [4294967295, 0, 1]);Run

      \n-
      source

      pub fn into_raw_parts_with_alloc(self) -> (*mut T, usize, usize, A)

      \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

      Decomposes a Vec<T> into its raw components: (pointer, length, capacity, allocator).

      \n+
      source

      pub fn into_raw_parts_with_alloc(self) -> (*mut T, usize, usize, A)

      \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

      Decomposes a Vec<T> into its raw components: (pointer, length, capacity, allocator).

      \n

      Returns the raw pointer to the underlying data, the length of the vector (in elements),\n the allocated capacity of the data (in elements), and the allocator. These are the same\n arguments in the same order as the arguments to from_raw_parts_in.

      \n

      After calling this function, the caller is responsible for the\n memory previously managed by the Vec. The only way to do\n this is to convert the raw pointer, length, and capacity back\n into a Vec with the from_raw_parts_in function, allowing\n@@ -531,47 +531,47 @@\n // We can now make changes to the components, such as\n // transmuting the raw pointer to a compatible type.\n let ptr = ptr as *mut u32;\n \n Vec::from_raw_parts_in(ptr, len, cap, alloc)\n };\n assert_eq!(rebuilt, [4294967295, 0, 1]);Run

      \n-
      source

      pub fn capacity(&self) -> usize

      Returns the total number of elements the vector can hold without\n+

      source

      pub fn capacity(&self) -> usize

      Returns the total number of elements the vector can hold without\n reallocating.

      \n
      \u00a7Examples
      \n
      let mut vec: Vec<i32> = Vec::with_capacity(10);\n vec.push(42);\n assert!(vec.capacity() >= 10);
      Run
      \n-
      source

      pub fn reserve(&mut self, additional: usize)

      Reserves capacity for at least additional more elements to be inserted\n+

      source

      pub fn reserve(&mut self, additional: usize)

      Reserves capacity for at least additional more elements to be inserted\n in the given Vec<T>. The collection may reserve more space to\n speculatively avoid frequent reallocations. After calling reserve,\n capacity will be greater than or equal to self.len() + additional.\n Does nothing if capacity is already sufficient.

      \n
      \u00a7Panics
      \n

      Panics if the new capacity exceeds isize::MAX bytes.

      \n
      \u00a7Examples
      \n
      let mut vec = vec![1];\n vec.reserve(10);\n assert!(vec.capacity() >= 11);
      Run
      \n-
      source

      pub fn reserve_exact(&mut self, additional: usize)

      Reserves the minimum capacity for at least additional more elements to\n+

      source

      pub fn reserve_exact(&mut self, additional: usize)

      Reserves the minimum capacity for at least additional more elements to\n be inserted in the given Vec<T>. Unlike reserve, this will not\n deliberately over-allocate to speculatively avoid frequent allocations.\n After calling reserve_exact, capacity will be greater than or equal to\n self.len() + additional. Does nothing if the capacity is already\n sufficient.

      \n

      Note that the allocator may give the collection more space than it\n requests. Therefore, capacity can not be relied upon to be precisely\n minimal. Prefer reserve if future insertions are expected.

      \n
      \u00a7Panics
      \n

      Panics if the new capacity exceeds isize::MAX bytes.

      \n
      \u00a7Examples
      \n
      let mut vec = vec![1];\n vec.reserve_exact(10);\n assert!(vec.capacity() >= 11);
      Run
      \n-
      1.57.0 \u00b7 source

      pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

      Tries to reserve capacity for at least additional more elements to be inserted\n+

      1.57.0 \u00b7 source

      pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

      Tries to reserve capacity for at least additional more elements to be inserted\n in the given Vec<T>. The collection may reserve more space to speculatively avoid\n frequent reallocations. After calling try_reserve, capacity will be\n greater than or equal to self.len() + additional if it returns\n Ok(()). Does nothing if capacity is already sufficient. This method\n preserves the contents even if an error occurs.

      \n
      \u00a7Errors
      \n

      If the capacity overflows, or the allocator reports a failure, then an error\n@@ -590,16 +590,16 @@\n val * 2 + 5 // very complicated\n }));\n \n Ok(output)\n }Run

      \n
      1.57.0 \u00b7 source

      pub fn try_reserve_exact(\n &mut self,\n- additional: usize\n-) -> Result<(), TryReserveError>

      Tries to reserve the minimum capacity for at least additional\n+ additional: usize\n+) -> Result<(), TryReserveError>

      Tries to reserve the minimum capacity for at least additional\n elements to be inserted in the given Vec<T>. Unlike try_reserve,\n this will not deliberately over-allocate to speculatively avoid frequent\n allocations. After calling try_reserve_exact, capacity will be greater\n than or equal to self.len() + additional if it returns Ok(()).\n Does nothing if the capacity is already sufficient.

      \n

      Note that the allocator may give the collection more space than it\n requests. Therefore, capacity can not be relied upon to be precisely\n@@ -629,41 +629,41 @@\n is the case for with_capacity. See Allocator::shrink for more details.

      \n
      \u00a7Examples
      \n
      let mut vec = Vec::with_capacity(10);\n vec.extend([1, 2, 3]);\n assert!(vec.capacity() >= 10);\n vec.shrink_to_fit();\n assert!(vec.capacity() >= 3);
      Run
      \n-
      1.56.0 \u00b7 source

      pub fn shrink_to(&mut self, min_capacity: usize)

      Shrinks the capacity of the vector with a lower bound.

      \n+
      1.56.0 \u00b7 source

      pub fn shrink_to(&mut self, min_capacity: usize)

      Shrinks the capacity of the vector with a lower bound.

      \n

      The capacity will remain at least as large as both the length\n and the supplied value.

      \n

      If the current capacity is less than the lower limit, this is a no-op.

      \n
      \u00a7Examples
      \n
      let mut vec = Vec::with_capacity(10);\n vec.extend([1, 2, 3]);\n assert!(vec.capacity() >= 10);\n vec.shrink_to(4);\n assert!(vec.capacity() >= 4);\n vec.shrink_to(0);\n assert!(vec.capacity() >= 3);
      Run
      \n-
      source

      pub fn into_boxed_slice(self) -> Box<[T], A>

      Converts the vector into Box<[T]>.

      \n+
      source

      pub fn into_boxed_slice(self) -> Box<[T], A>

      Converts the vector into Box<[T]>.

      \n

      Before doing the conversion, this method discards excess capacity like shrink_to_fit.

      \n
      \u00a7Examples
      \n
      let v = vec![1, 2, 3];\n \n let slice = v.into_boxed_slice();
      Run
      \n

      Any excess capacity is removed:

      \n \n
      let mut vec = Vec::with_capacity(10);\n vec.extend([1, 2, 3]);\n \n assert!(vec.capacity() >= 10);\n let slice = vec.into_boxed_slice();\n assert_eq!(slice.into_vec().capacity(), 3);
      Run
      \n-
      source

      pub fn truncate(&mut self, len: usize)

      Shortens the vector, keeping the first len elements and dropping\n+

      source

      pub fn truncate(&mut self, len: usize)

      Shortens the vector, keeping the first len elements and dropping\n the rest.

      \n

      If len is greater or equal to the vector\u2019s current length, this has\n no effect.

      \n

      The drain method can emulate truncate, but causes the excess\n elements to be returned instead of dropped.

      \n

      Note that this method has no effect on the allocated capacity\n of the vector.

      \n@@ -681,27 +681,27 @@\n assert_eq!(vec, [1, 2, 3]);Run
      \n

      Truncating when len == 0 is equivalent to calling the clear\n method.

      \n \n
      let mut vec = vec![1, 2, 3];\n vec.truncate(0);\n assert_eq!(vec, []);
      Run
      \n-
      1.7.0 \u00b7 source

      pub fn as_slice(&self) -> &[T]

      Extracts a slice containing the entire vector.

      \n+
      1.7.0 \u00b7 source

      pub fn as_slice(&self) -> &[T]

      Extracts a slice containing the entire vector.

      \n

      Equivalent to &s[..].

      \n
      \u00a7Examples
      \n
      use std::io::{self, Write};\n let buffer = vec![1, 2, 3, 5, 8];\n io::sink().write(buffer.as_slice()).unwrap();
      Run
      \n-
      1.7.0 \u00b7 source

      pub fn as_mut_slice(&mut self) -> &mut [T]

      Extracts a mutable slice of the entire vector.

      \n+
      1.7.0 \u00b7 source

      pub fn as_mut_slice(&mut self) -> &mut [T]

      Extracts a mutable slice of the entire vector.

      \n

      Equivalent to &mut s[..].

      \n
      \u00a7Examples
      \n
      use std::io::{self, Read};\n let mut buffer = vec![0; 3];\n io::repeat(0b101).read_exact(buffer.as_mut_slice()).unwrap();
      Run
      \n-
      1.37.0 \u00b7 source

      pub fn as_ptr(&self) -> *const T

      Returns a raw pointer to the vector\u2019s buffer, or a dangling raw pointer\n+

      1.37.0 \u00b7 source

      pub fn as_ptr(&self) -> *const T

      Returns a raw pointer to the vector\u2019s buffer, or a dangling raw pointer\n valid for zero sized reads if the vector didn\u2019t allocate.

      \n

      The caller must ensure that the vector outlives the pointer this\n function returns, or else it will end up pointing to garbage.\n Modifying the vector may cause its buffer to be reallocated,\n which would also make any pointers to it invalid.

      \n

      The caller must also ensure that the memory the pointer (non-transitively) points to\n is never written to (except inside an UnsafeCell) using this pointer or any pointer\n@@ -730,15 +730,15 @@\n let _ = ptr1.read();\n let ptr2 = v.as_mut_ptr().offset(2);\n ptr2.write(2);\n // Notably, the write to `ptr2` did *not* invalidate `ptr1`\n // because it mutated a different element:\n let _ = ptr1.read();\n }Run

      \n-
      1.37.0 \u00b7 source

      pub fn as_mut_ptr(&mut self) -> *mut T

      Returns an unsafe mutable pointer to the vector\u2019s buffer, or a dangling\n+

      1.37.0 \u00b7 source

      pub fn as_mut_ptr(&mut self) -> *mut T

      Returns an unsafe mutable pointer to the vector\u2019s buffer, or a dangling\n raw pointer valid for zero sized reads if the vector didn\u2019t allocate.

      \n

      The caller must ensure that the vector outlives the pointer this\n function returns, or else it will end up pointing to garbage.\n Modifying the vector may cause its buffer to be reallocated,\n which would also make any pointers to it invalid.

      \n

      This method guarantees that for the purpose of the aliasing model, this method\n does not materialize a reference to the underlying slice, and thus the returned pointer\n@@ -768,20 +768,20 @@\n let ptr1 = v.as_mut_ptr();\n ptr1.write(1);\n let ptr2 = v.as_mut_ptr();\n ptr2.write(2);\n // Notably, the write to `ptr2` did *not* invalidate `ptr1`:\n ptr1.write(3);\n }Run

      \n-
      source

      pub fn allocator(&self) -> &A

      \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

      Returns a reference to the underlying allocator.

      \n-
      source

      pub unsafe fn set_len(&mut self, new_len: usize)

      Forces the length of the vector to new_len.

      \n+
      source

      pub fn allocator(&self) -> &A

      \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

      Returns a reference to the underlying allocator.

      \n+
      source

      pub unsafe fn set_len(&mut self, new_len: usize)

      Forces the length of the vector to new_len.

      \n

      This is a low-level operation that maintains none of the normal\n invariants of the type. Normally changing the length of a vector\n is done using one of the safe operations instead, such as\n-truncate, resize, extend, or clear.

      \n+truncate, resize, extend, or clear.

      \n
      \u00a7Safety
      \n
        \n
      • new_len must be less than or equal to capacity().
      • \n
      • The elements at old_len..new_len must be initialized.
      • \n
      \n
      \u00a7Examples
      \n

      This method can be useful for situations in which the vector\n@@ -817,57 +817,57 @@\n // 1. `old_len..0` is empty so no elements need to be initialized.\n // 2. `0 <= capacity` always holds whatever `capacity` is.\n unsafe {\n vec.set_len(0);\n }Run

      \n

      Normally, here, one would use clear instead to correctly drop\n the contents and thus not leak memory.

      \n-
      source

      pub fn swap_remove(&mut self, index: usize) -> T

      Removes an element from the vector and returns it.

      \n+
      source

      pub fn swap_remove(&mut self, index: usize) -> T

      Removes an element from the vector and returns it.

      \n

      The removed element is replaced by the last element of the vector.

      \n

      This does not preserve ordering, but is O(1).\n If you need to preserve the element order, use remove instead.

      \n
      \u00a7Panics
      \n

      Panics if index is out of bounds.

      \n
      \u00a7Examples
      \n
      let mut v = vec![\"foo\", \"bar\", \"baz\", \"qux\"];\n \n assert_eq!(v.swap_remove(1), \"bar\");\n assert_eq!(v, [\"foo\", \"qux\", \"baz\"]);\n \n assert_eq!(v.swap_remove(0), \"foo\");\n assert_eq!(v, [\"baz\", \"qux\"]);
      Run
      \n-
      source

      pub fn insert(&mut self, index: usize, element: T)

      Inserts an element at position index within the vector, shifting all\n+

      source

      pub fn insert(&mut self, index: usize, element: T)

      Inserts an element at position index within the vector, shifting all\n elements after it to the right.

      \n
      \u00a7Panics
      \n

      Panics if index > len.

      \n
      \u00a7Examples
      \n
      let mut vec = vec![1, 2, 3];\n vec.insert(1, 4);\n assert_eq!(vec, [1, 4, 2, 3]);\n vec.insert(4, 5);\n assert_eq!(vec, [1, 4, 2, 3, 5]);
      Run
      \n
      \u00a7Time complexity
      \n

      Takes O(Vec::len) time. All items after the insertion index must be\n shifted to the right. In the worst case, all elements are shifted when\n the insertion index is 0.

      \n-
      source

      pub fn remove(&mut self, index: usize) -> T

      Removes and returns the element at position index within the vector,\n+

      source

      pub fn remove(&mut self, index: usize) -> T

      Removes and returns the element at position index within the vector,\n shifting all elements after it to the left.

      \n

      Note: Because this shifts over the remaining elements, it has a\n worst-case performance of O(n). If you don\u2019t need the order of elements\n to be preserved, use swap_remove instead. If you\u2019d like to remove\n elements from the beginning of the Vec, consider using\n VecDeque::pop_front instead.

      \n
      \u00a7Panics
      \n

      Panics if index is out of bounds.

      \n
      \u00a7Examples
      \n
      let mut v = vec![1, 2, 3];\n assert_eq!(v.remove(1), 2);\n assert_eq!(v, [1, 3]);
      Run
      \n
      source

      pub fn retain<F>(&mut self, f: F)
      where\n- F: FnMut(&T) -> bool,

      Retains only the elements specified by the predicate.

      \n+ F: FnMut(&T) -> bool,

      Retains only the elements specified by the predicate.

      \n

      In other words, remove all elements e for which f(&e) returns false.\n This method operates in place, visiting each element exactly once in the\n original order, and preserves the order of the retained elements.

      \n
      \u00a7Examples
      \n
      let mut vec = vec![1, 2, 3, 4];\n vec.retain(|&x| x % 2 == 0);\n assert_eq!(vec, [2, 4]);
      Run
      \n@@ -876,40 +876,40 @@\n \n
      let mut vec = vec![1, 2, 3, 4, 5];\n let keep = [false, true, true, false, true];\n let mut iter = keep.iter();\n vec.retain(|_| *iter.next().unwrap());\n assert_eq!(vec, [2, 3, 5]);
      Run
      \n
      1.61.0 \u00b7 source

      pub fn retain_mut<F>(&mut self, f: F)
      where\n- F: FnMut(&mut T) -> bool,

      Retains only the elements specified by the predicate, passing a mutable reference to it.

      \n+ F: FnMut(&mut T) -> bool,

      Retains only the elements specified by the predicate, passing a mutable reference to it.

      \n

      In other words, remove all elements e such that f(&mut e) returns false.\n This method operates in place, visiting each element exactly once in the\n original order, and preserves the order of the retained elements.

      \n
      \u00a7Examples
      \n
      let mut vec = vec![1, 2, 3, 4];\n vec.retain_mut(|x| if *x <= 3 {\n     *x += 1;\n     true\n } else {\n     false\n });\n assert_eq!(vec, [2, 3, 4]);
      Run
      \n
      1.16.0 \u00b7 source

      pub fn dedup_by_key<F, K>(&mut self, key: F)
      where\n- F: FnMut(&mut T) -> K,\n- K: PartialEq,

      Removes all but the first of consecutive elements in the vector that resolve to the same\n+ F: FnMut(&mut T) -> K,\n+ K: PartialEq,

      Removes all but the first of consecutive elements in the vector that resolve to the same\n key.

      \n

      If the vector is sorted, this removes all duplicates.

      \n
      \u00a7Examples
      \n
      let mut vec = vec![10, 20, 21, 30, 20];\n \n vec.dedup_by_key(|i| *i / 10);\n \n assert_eq!(vec, [10, 20, 30, 20]);
      Run
      \n
      1.16.0 \u00b7 source

      pub fn dedup_by<F>(&mut self, same_bucket: F)
      where\n- F: FnMut(&mut T, &mut T) -> bool,

      Removes all but the first of consecutive elements in the vector satisfying a given equality\n+ F: FnMut(&mut T, &mut T) -> bool,

      Removes all but the first of consecutive elements in the vector satisfying a given equality\n relation.

      \n

      The same_bucket function is passed references to two elements from the vector and\n must determine if the elements compare equal. The elements are passed in opposite order\n from their order in the slice, so if same_bucket(a, b) returns true, a is removed.

      \n

      If the vector is sorted, this removes all duplicates.

      \n
      \u00a7Examples
      \n
      let mut vec = vec![\"foo\", \"bar\", \"Bar\", \"baz\", \"bar\"];\n@@ -925,20 +925,20 @@\n vec.push(3);\n assert_eq!(vec, [1, 2, 3]);
      Run
      \n
      \u00a7Time complexity
      \n

      Takes amortized O(1) time. If the vector\u2019s length would exceed its\n capacity after the push, O(capacity) time is taken to copy the\n vector\u2019s elements to a larger allocation. This expensive operation is\n offset by the capacity O(1) insertions it allows.

      \n-
      source

      pub fn push_within_capacity(&mut self, value: T) -> Result<(), T>

      \ud83d\udd2cThis is a nightly-only experimental API. (vec_push_within_capacity #100486)

      Appends an element if there is sufficient spare capacity, otherwise an error is returned\n+

      source

      pub fn push_within_capacity(&mut self, value: T) -> Result<(), T>

      \ud83d\udd2cThis is a nightly-only experimental API. (vec_push_within_capacity #100486)

      Appends an element if there is sufficient spare capacity, otherwise an error is returned\n with the element.

      \n

      Unlike push this method will not reallocate when there\u2019s insufficient capacity.\n The caller should use reserve or try_reserve to ensure that there is enough capacity.

      \n
      \u00a7Examples
      \n-

      A manual, panic-free alternative to FromIterator:

      \n+

      A manual, panic-free alternative to FromIterator:

      \n \n
      #![feature(vec_push_within_capacity)]\n \n use std::collections::TryReserveError;\n fn from_iter_fallible<T>(iter: impl Iterator<Item=T>) -> Result<Vec<T>, TryReserveError> {\n     let mut vec = Vec::new();\n     for value in iter {\n@@ -949,45 +949,45 @@\n         }\n     }\n     Ok(vec)\n }\n assert_eq!(from_iter_fallible(0..100), Ok(Vec::from_iter(0..100)));
      Run
      \n
      \u00a7Time complexity
      \n

      Takes O(1) time.

      \n-
      source

      pub fn pop(&mut self) -> Option<T>

      Removes the last element from a vector and returns it, or None if it\n+

      source

      pub fn pop(&mut self) -> Option<T>

      Removes the last element from a vector and returns it, or None if it\n is empty.

      \n

      If you\u2019d like to pop the first element, consider using\n VecDeque::pop_front instead.

      \n
      \u00a7Examples
      \n
      let mut vec = vec![1, 2, 3];\n assert_eq!(vec.pop(), Some(3));\n assert_eq!(vec, [1, 2]);
      Run
      \n
      \u00a7Time complexity
      \n

      Takes O(1) time.

      \n-
      1.4.0 \u00b7 source

      pub fn append(&mut self, other: &mut Self)

      Moves all the elements of other into self, leaving other empty.

      \n+
      1.4.0 \u00b7 source

      pub fn append(&mut self, other: &mut Self)

      Moves all the elements of other into self, leaving other empty.

      \n
      \u00a7Panics
      \n

      Panics if the new capacity exceeds isize::MAX bytes.

      \n
      \u00a7Examples
      \n
      let mut vec = vec![1, 2, 3];\n let mut vec2 = vec![4, 5, 6];\n vec.append(&mut vec2);\n assert_eq!(vec, [1, 2, 3, 4, 5, 6]);\n assert_eq!(vec2, []);
      Run
      \n
      1.6.0 \u00b7 source

      pub fn drain<R>(&mut self, range: R) -> Drain<'_, T, A> \u24d8
      where\n- R: RangeBounds<usize>,

      Removes the specified range from the vector in bulk, returning all\n+ R: RangeBounds<usize>,

      Removes the specified range from the vector in bulk, returning all\n removed elements as an iterator. If the iterator is dropped before\n being fully consumed, it drops the remaining removed elements.

      \n

      The returned iterator keeps a mutable borrow on the vector to optimize\n its implementation.

      \n
      \u00a7Panics
      \n

      Panics if the starting point is greater than the end point or if\n the end point is greater than the length of the vector.

      \n
      \u00a7Leaking
      \n

      If the returned iterator goes out of scope without being dropped (due to\n-mem::forget, for example), the vector may have lost and leaked\n+mem::forget, for example), the vector may have lost and leaked\n elements arbitrarily, including elements outside the range.

      \n
      \u00a7Examples
      \n
      let mut v = vec![1, 2, 3];\n let u: Vec<_> = v.drain(1..).collect();\n assert_eq!(v, &[1]);\n assert_eq!(u, &[2, 3]);\n \n@@ -999,66 +999,66 @@\n of the vector.

      \n
      \u00a7Examples
      \n
      let mut v = vec![1, 2, 3];\n \n v.clear();\n \n assert!(v.is_empty());
      Run
      \n-
      source

      pub fn len(&self) -> usize

      Returns the number of elements in the vector, also referred to\n+

      source

      pub fn len(&self) -> usize

      Returns the number of elements in the vector, also referred to\n as its \u2018length\u2019.

      \n
      \u00a7Examples
      \n
      let a = vec![1, 2, 3];\n assert_eq!(a.len(), 3);
      Run
      \n-
      source

      pub fn is_empty(&self) -> bool

      Returns true if the vector contains no elements.

      \n+
      source

      pub fn is_empty(&self) -> bool

      Returns true if the vector contains no elements.

      \n
      \u00a7Examples
      \n
      let mut v = Vec::new();\n assert!(v.is_empty());\n \n v.push(1);\n assert!(!v.is_empty());
      Run
      \n-
      1.4.0 \u00b7 source

      pub fn split_off(&mut self, at: usize) -> Self
      where\n- A: Clone,

      Splits the collection into two at the given index.

      \n+
      1.4.0 \u00b7 source

      pub fn split_off(&mut self, at: usize) -> Self
      where\n+ A: Clone,

      Splits the collection into two at the given index.

      \n

      Returns a newly allocated vector containing the elements in the range\n [at, len). After the call, the original vector will be left containing\n the elements [0, at) with its previous capacity unchanged.

      \n
        \n
      • If you want to take ownership of the entire contents and capacity of\n-the vector, see mem::take or mem::replace.
      • \n+the vector, see mem::take or mem::replace.\n
      • If you don\u2019t need the returned vector at all, see Vec::truncate.
      • \n
      • If you want to take ownership of an arbitrary subslice, or you don\u2019t\n necessarily want to store the removed items in a vector, see Vec::drain.
      • \n
      \n
      \u00a7Panics
      \n

      Panics if at > len.

      \n
      \u00a7Examples
      \n
      let mut vec = vec![1, 2, 3];\n let vec2 = vec.split_off(1);\n assert_eq!(vec, [1]);\n assert_eq!(vec2, [2, 3]);
      Run
      \n-
      1.33.0 \u00b7 source

      pub fn resize_with<F>(&mut self, new_len: usize, f: F)
      where\n- F: FnMut() -> T,

      Resizes the Vec in-place so that len is equal to new_len.

      \n+
      1.33.0 \u00b7 source

      pub fn resize_with<F>(&mut self, new_len: usize, f: F)
      where\n+ F: FnMut() -> T,

      Resizes the Vec in-place so that len is equal to new_len.

      \n

      If new_len is greater than len, the Vec is extended by the\n difference, with each additional slot filled with the result of\n calling the closure f. The return values from f will end up\n in the Vec in the order they have been generated.

      \n

      If new_len is less than len, the Vec is simply truncated.

      \n

      This method uses a closure to create new values on every push. If\n-you\u2019d rather Clone a given value, use Vec::resize. If you\n-want to use the Default trait to generate values, you can\n-pass Default::default as the second argument.

      \n+you\u2019d rather Clone a given value, use Vec::resize. If you\n+want to use the Default trait to generate values, you can\n+pass Default::default as the second argument.

      \n
      \u00a7Examples
      \n
      let mut vec = vec![1, 2, 3];\n vec.resize_with(5, Default::default);\n assert_eq!(vec, [1, 2, 3, 0, 0]);\n \n let mut vec = vec![];\n let mut p = 1;\n vec.resize_with(4, || { p *= 2; p });\n assert_eq!(vec, [2, 4, 8, 16]);
      Run
      \n-
      1.47.0 \u00b7 source

      pub fn leak<'a>(self) -> &'a mut [T]
      where\n+

      1.47.0 \u00b7 source

      pub fn leak<'a>(self) -> &'a mut [T]
      where\n A: 'a,

      Consumes and leaks the Vec, returning a mutable reference to the contents,\n &'a mut [T]. Note that the type T must outlive the chosen lifetime\n 'a. If the type has only static references, or none at all, then this\n may be chosen to be 'static.

      \n

      As of Rust 1.57, this method does not reallocate or shrink the Vec,\n so the leaked allocation may include unused capacity that is not part\n of the returned slice.

      \n@@ -1068,15 +1068,15 @@\n
      \u00a7Examples
      \n

      Simple usage:

      \n \n
      let x = vec![1, 2, 3];\n let static_ref: &'static mut [usize] = x.leak();\n static_ref[0] += 1;\n assert_eq!(static_ref, &[2, 2, 3]);
      Run
      \n-
      1.60.0 \u00b7 source

      pub fn spare_capacity_mut(&mut self) -> &mut [MaybeUninit<T>]

      Returns the remaining spare capacity of the vector as a slice of\n+

      1.60.0 \u00b7 source

      pub fn spare_capacity_mut(&mut self) -> &mut [MaybeUninit<T>]

      Returns the remaining spare capacity of the vector as a slice of\n MaybeUninit<T>.

      \n

      The returned slice can be used to fill the vector with data (e.g. by\n reading from a file) before marking the data as initialized using the\n set_len method.

      \n
      \u00a7Examples
      \n
      // Allocate vector big enough for 10 elements.\n let mut v = Vec::with_capacity(10);\n@@ -1089,15 +1089,15 @@\n \n // Mark the first 3 elements of the vector as being initialized.\n unsafe {\n     v.set_len(3);\n }\n \n assert_eq!(&v, &[0, 1, 2]);
      Run
      \n-
      source

      pub fn split_at_spare_mut(&mut self) -> (&mut [T], &mut [MaybeUninit<T>])

      \ud83d\udd2cThis is a nightly-only experimental API. (vec_split_at_spare #81944)

      Returns vector content as a slice of T, along with the remaining spare\n+

      source

      pub fn split_at_spare_mut(&mut self) -> (&mut [T], &mut [MaybeUninit<T>])

      \ud83d\udd2cThis is a nightly-only experimental API. (vec_split_at_spare #81944)

      Returns vector content as a slice of T, along with the remaining spare\n capacity of the vector as a slice of MaybeUninit<T>.

      \n

      The returned spare capacity slice can be used to fill the vector with data\n (e.g. by reading from a file) before marking the data as initialized using\n the set_len method.

      \n

      Note that this is a low-level API, which should be used with care for\n optimization purposes. If you need to append data to a Vec\n you can use push, extend, extend_from_slice,\n@@ -1123,88 +1123,88 @@\n // Mark the 4 elements of the vector as being initialized.\n unsafe {\n let len = v.len();\n v.set_len(len + 4);\n }\n \n assert_eq!(&v, &[1, 1, 2, 4, 8, 12, 16]);Run

      \n-
      source\u00a7

      impl<T: Clone, A: Allocator> Vec<T, A>

      1.5.0 \u00b7 source

      pub fn resize(&mut self, new_len: usize, value: T)

      Resizes the Vec in-place so that len is equal to new_len.

      \n+
      source\u00a7

      impl<T: Clone, A: Allocator> Vec<T, A>

      1.5.0 \u00b7 source

      pub fn resize(&mut self, new_len: usize, value: T)

      Resizes the Vec in-place so that len is equal to new_len.

      \n

      If new_len is greater than len, the Vec is extended by the\n difference, with each additional slot filled with value.\n If new_len is less than len, the Vec is simply truncated.

      \n-

      This method requires T to implement Clone,\n+

      This method requires T to implement Clone,\n in order to be able to clone the passed value.\n-If you need more flexibility (or want to rely on Default instead of\n-Clone), use Vec::resize_with.\n+If you need more flexibility (or want to rely on Default instead of\n+Clone), use Vec::resize_with.\n If you only need to resize to a smaller size, use Vec::truncate.

      \n
      \u00a7Examples
      \n
      let mut vec = vec![\"hello\"];\n vec.resize(3, \"world\");\n assert_eq!(vec, [\"hello\", \"world\", \"world\"]);\n \n let mut vec = vec![1, 2, 3, 4];\n vec.resize(2, 0);\n assert_eq!(vec, [1, 2]);
      Run
      \n-
      1.6.0 \u00b7 source

      pub fn extend_from_slice(&mut self, other: &[T])

      Clones and appends all elements in a slice to the Vec.

      \n+
      1.6.0 \u00b7 source

      pub fn extend_from_slice(&mut self, other: &[T])

      Clones and appends all elements in a slice to the Vec.

      \n

      Iterates over the slice other, clones each element, and then appends\n it to this Vec. The other slice is traversed in-order.

      \n

      Note that this function is same as extend except that it is\n specialized to work with slices instead. If and when Rust gets\n specialization this function will likely be deprecated (but still\n available).

      \n
      \u00a7Examples
      \n
      let mut vec = vec![1];\n vec.extend_from_slice(&[2, 3, 4]);\n assert_eq!(vec, [1, 2, 3, 4]);
      Run
      \n
      1.53.0 \u00b7 source

      pub fn extend_from_within<R>(&mut self, src: R)
      where\n- R: RangeBounds<usize>,

      Copies elements from src range to the end of the vector.

      \n+ R: RangeBounds<usize>,

      Copies elements from src range to the end of the vector.

      \n
      \u00a7Panics
      \n

      Panics if the starting point is greater than the end point or if\n the end point is greater than the length of the vector.

      \n
      \u00a7Examples
      \n
      let mut vec = vec![0, 1, 2, 3, 4];\n \n vec.extend_from_within(2..);\n assert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4]);\n \n vec.extend_from_within(..2);\n assert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4, 0, 1]);\n \n vec.extend_from_within(4..8);\n assert_eq!(vec, [0, 1, 2, 3, 4, 2, 3, 4, 0, 1, 4, 2, 3, 4]);
      Run
      \n-
      source\u00a7

      impl<T, A: Allocator, const N: usize> Vec<[T; N], A>

      source

      pub fn into_flattened(self) -> Vec<T, A>

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_flatten #95629)

      Takes a Vec<[T; N]> and flattens it into a Vec<T>.

      \n+
      source\u00a7

      impl<T, A: Allocator, const N: usize> Vec<[T; N], A>

      source

      pub fn into_flattened(self) -> Vec<T, A>

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_flatten #95629)

      Takes a Vec<[T; N]> and flattens it into a Vec<T>.

      \n
      \u00a7Panics
      \n

      Panics if the length of the resulting vector would overflow a usize.

      \n

      This is only possible when flattening a vector of arrays of zero-sized\n types, and thus tends to be irrelevant in practice. If\n size_of::<T>() > 0, this will never panic.

      \n
      \u00a7Examples
      \n
      #![feature(slice_flatten)]\n \n let mut vec = vec![[1, 2, 3], [4, 5, 6], [7, 8, 9]];\n assert_eq!(vec.pop(), Some([7, 8, 9]));\n \n let mut flattened = vec.into_flattened();\n assert_eq!(flattened.pop(), Some(6));
      Run
      \n-
      source\u00a7

      impl<T: PartialEq, A: Allocator> Vec<T, A>

      source

      pub fn dedup(&mut self)

      Removes consecutive repeated elements in the vector according to the\n-PartialEq trait implementation.

      \n+
      source\u00a7

      impl<T: PartialEq, A: Allocator> Vec<T, A>

      source

      pub fn dedup(&mut self)

      Removes consecutive repeated elements in the vector according to the\n+PartialEq trait implementation.

      \n

      If the vector is sorted, this removes all duplicates.

      \n
      \u00a7Examples
      \n
      let mut vec = vec![1, 2, 2, 3, 2];\n \n vec.dedup();\n \n assert_eq!(vec, [1, 2, 3, 2]);
      Run
      \n
      source\u00a7

      impl<T, A: Allocator> Vec<T, A>

      1.21.0 \u00b7 source

      pub fn splice<R, I>(\n &mut self,\n range: R,\n replace_with: I\n-) -> Splice<'_, I::IntoIter, A> \u24d8
      where\n- R: RangeBounds<usize>,\n- I: IntoIterator<Item = T>,

      Creates a splicing iterator that replaces the specified range in the vector\n+) -> Splice<'_, I::IntoIter, A> \u24d8

      where\n+ R: RangeBounds<usize>,\n+ I: IntoIterator<Item = T>,

      Creates a splicing iterator that replaces the specified range in the vector\n with the given replace_with iterator and yields the removed items.\n replace_with does not need to be the same length as range.

      \n

      range is removed even if the iterator is not consumed until the end.

      \n

      It is unspecified how many elements are removed from the vector\n if the Splice value is leaked.

      \n

      The input iterator replace_with is only consumed when the Splice value is dropped.

      \n

      This is optimal if:

      \n@@ -1220,15 +1220,15 @@\n
      \u00a7Examples
      \n
      let mut v = vec![1, 2, 3, 4];\n let new = [7, 8, 9];\n let u: Vec<_> = v.splice(1..3, new).collect();\n assert_eq!(v, &[1, 7, 8, 9, 4]);\n assert_eq!(u, &[2, 3]);
      Run
      \n
      source

      pub fn extract_if<F>(&mut self, filter: F) -> ExtractIf<'_, T, F, A> \u24d8
      where\n- F: FnMut(&mut T) -> bool,

      \ud83d\udd2cThis is a nightly-only experimental API. (extract_if #43244)

      Creates an iterator which uses a closure to determine if an element should be removed.

      \n+ F: FnMut(&mut T) -> bool,
      \ud83d\udd2cThis is a nightly-only experimental API. (extract_if #43244)

      Creates an iterator which uses a closure to determine if an element should be removed.

      \n

      If the closure returns true, then the element is removed and yielded.\n If the closure returns false, the element will remain in the vector and will not be yielded\n by the iterator.

      \n

      If the returned ExtractIf is not exhausted, e.g. because it is dropped without iterating\n or the iteration short-circuits, then the remaining elements will be retained.\n Use retain with a negated predicate if you do not need the returned iterator.

      \n

      Using this method is equivalent to the following code:

      \n@@ -1254,51 +1254,51 @@\n let mut numbers = vec![1, 2, 3, 4, 5, 6, 8, 9, 11, 13, 14, 15];\n \n let evens = numbers.extract_if(|x| *x % 2 == 0).collect::<Vec<_>>();\n let odds = numbers;\n \n assert_eq!(evens, vec![2, 4, 6, 8, 14]);\n assert_eq!(odds, vec![1, 3, 5, 9, 11, 13, 15]);Run
      \n-

      Methods from Deref<Target = [T]>\u00a7

      source

      pub fn sort(&mut self)
      where\n- T: Ord,

      Sorts the slice.

      \n+

      Methods from Deref<Target = [T]>\u00a7

      source

      pub fn sort(&mut self)
      where\n+ T: Ord,

      Sorts the slice.

      \n

      This sort is stable (i.e., does not reorder equal elements) and O(n * log(n)) worst-case.

      \n

      When applicable, unstable sorting is preferred because it is generally faster than stable\n sorting and it doesn\u2019t allocate auxiliary memory.\n-See sort_unstable.

      \n+See sort_unstable.

      \n
      \u00a7Current implementation
      \n

      The current algorithm is an adaptive, iterative merge sort inspired by\n timsort.\n It is designed to be very fast in cases where the slice is nearly sorted, or consists of\n two or more sorted sequences concatenated one after another.

      \n

      Also, it allocates temporary storage half the size of self, but for short slices a\n non-allocating insertion sort is used instead.

      \n
      \u00a7Examples
      \n
      let mut v = [-5, 4, 1, -3, 2];\n \n v.sort();\n assert!(v == [-5, -3, 1, 2, 4]);
      Run
      \n
      source

      pub fn sort_by<F>(&mut self, compare: F)
      where\n- F: FnMut(&T, &T) -> Ordering,

      Sorts the slice with a comparator function.

      \n+ F: FnMut(&T, &T) -> Ordering,

      Sorts the slice with a comparator function.

      \n

      This sort is stable (i.e., does not reorder equal elements) and O(n * log(n)) worst-case.

      \n

      The comparator function must define a total ordering for the elements in the slice. If\n the ordering is not total, the order of the elements is unspecified. An order is a\n total order if it is (for all a, b and c):

      \n
        \n
      • total and antisymmetric: exactly one of a < b, a == b or a > b is true, and
      • \n
      • transitive, a < b and b < c implies a < c. The same must hold for both == and >.
      • \n
      \n-

      For example, while f64 doesn\u2019t implement Ord because NaN != NaN, we can use\n+

      For example, while f64 doesn\u2019t implement Ord because NaN != NaN, we can use\n partial_cmp as our sort function when we know the slice doesn\u2019t contain a NaN.

      \n \n
      let mut floats = [5f64, 4.0, 1.0, 3.0, 2.0];\n floats.sort_by(|a, b| a.partial_cmp(b).unwrap());\n assert_eq!(floats, [1.0, 2.0, 3.0, 4.0, 5.0]);
      Run
      \n

      When applicable, unstable sorting is preferred because it is generally faster than stable\n sorting and it doesn\u2019t allocate auxiliary memory.\n-See sort_unstable_by.

      \n+See sort_unstable_by.

      \n
      \u00a7Current implementation
      \n

      The current algorithm is an adaptive, iterative merge sort inspired by\n timsort.\n It is designed to be very fast in cases where the slice is nearly sorted, or consists of\n two or more sorted sequences concatenated one after another.

      \n

      Also, it allocates temporary storage half the size of self, but for short slices a\n non-allocating insertion sort is used instead.

      \n@@ -1307,47 +1307,47 @@\n v.sort_by(|a, b| a.cmp(b));\n assert!(v == [1, 2, 3, 4, 5]);\n \n // reverse sorting\n v.sort_by(|a, b| b.cmp(a));\n assert!(v == [5, 4, 3, 2, 1]);Run
      \n
      1.7.0 \u00b7 source

      pub fn sort_by_key<K, F>(&mut self, f: F)
      where\n- F: FnMut(&T) -> K,\n- K: Ord,

      Sorts the slice with a key extraction function.

      \n+ F: FnMut(&T) -> K,\n+ K: Ord,

      Sorts the slice with a key extraction function.

      \n

      This sort is stable (i.e., does not reorder equal elements) and O(m * n * log(n))\n worst-case, where the key function is O(m).

      \n

      For expensive key functions (e.g. functions that are not simple property accesses or\n-basic operations), sort_by_cached_key is likely to be\n+basic operations), sort_by_cached_key is likely to be\n significantly faster, as it does not recompute element keys.

      \n

      When applicable, unstable sorting is preferred because it is generally faster than stable\n sorting and it doesn\u2019t allocate auxiliary memory.\n-See sort_unstable_by_key.

      \n+See sort_unstable_by_key.

      \n
      \u00a7Current implementation
      \n

      The current algorithm is an adaptive, iterative merge sort inspired by\n timsort.\n It is designed to be very fast in cases where the slice is nearly sorted, or consists of\n two or more sorted sequences concatenated one after another.

      \n

      Also, it allocates temporary storage half the size of self, but for short slices a\n non-allocating insertion sort is used instead.

      \n
      \u00a7Examples
      \n
      let mut v = [-5i32, 4, 1, -3, 2];\n \n v.sort_by_key(|k| k.abs());\n assert!(v == [1, 2, -3, 4, -5]);
      Run
      \n
      1.34.0 \u00b7 source

      pub fn sort_by_cached_key<K, F>(&mut self, f: F)
      where\n- F: FnMut(&T) -> K,\n- K: Ord,

      Sorts the slice with a key extraction function.

      \n+ F: FnMut(&T) -> K,\n+ K: Ord,

      Sorts the slice with a key extraction function.

      \n

      During sorting, the key function is called at most once per element, by using\n temporary storage to remember the results of key evaluation.\n The order of calls to the key function is unspecified and may change in future versions\n of the standard library.

      \n

      This sort is stable (i.e., does not reorder equal elements) and O(m * n + n * log(n))\n worst-case, where the key function is O(m).

      \n

      For simple key functions (e.g., functions that are property accesses or\n-basic operations), sort_by_key is likely to be\n+basic operations), sort_by_key is likely to be\n faster.

      \n
      \u00a7Current implementation
      \n

      The current algorithm is based on pattern-defeating quicksort by Orson Peters,\n which combines the fast average case of randomized quicksort with the fast worst case of\n heapsort, while achieving linear time on slices with certain patterns. It uses some\n randomization to avoid degenerate cases, but with a fixed seed to always provide\n deterministic behavior.

      \n@@ -1355,42 +1355,42 @@\n length of the slice.

      \n
      \u00a7Examples
      \n
      let mut v = [-5i32, 4, 32, -3, 2];\n \n v.sort_by_cached_key(|k| k.to_string());\n assert!(v == [-3, -5, 2, 32, 4]);
      Run
      \n
      source

      pub fn to_vec(&self) -> Vec<T>
      where\n- T: Clone,

      Copies self into a new Vec.

      \n+ T: Clone,

      Copies self into a new Vec.

      \n
      \u00a7Examples
      \n
      let s = [10, 40, 30];\n let x = s.to_vec();\n // Here, `s` and `x` can be modified independently.
      Run
      \n
      source

      pub fn to_vec_in<A: Allocator>(&self, alloc: A) -> Vec<T, A>
      where\n- T: Clone,

      \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

      Copies self into a new Vec with an allocator.

      \n+ T: Clone,
      \ud83d\udd2cThis is a nightly-only experimental API. (allocator_api #32838)

      Copies self into a new Vec with an allocator.

      \n
      \u00a7Examples
      \n
      #![feature(allocator_api)]\n \n use std::alloc::System;\n \n let s = [10, 40, 30];\n let x = s.to_vec_in(System);\n // Here, `s` and `x` can be modified independently.
      Run
      \n-
      1.40.0 \u00b7 source

      pub fn repeat(&self, n: usize) -> Vec<T>
      where\n- T: Copy,

      Creates a vector by copying a slice n times.

      \n+
      1.40.0 \u00b7 source

      pub fn repeat(&self, n: usize) -> Vec<T>
      where\n+ T: Copy,

      Creates a vector by copying a slice n times.

      \n
      \u00a7Panics
      \n

      This function will panic if the capacity would overflow.

      \n
      \u00a7Examples
      \n

      Basic usage:

      \n \n
      assert_eq!([1, 2].repeat(3), vec![1, 2, 1, 2, 1, 2]);
      Run
      \n

      A panic upon overflow:

      \n \n
      \u24d8
      // this will panic at runtime\n b\"0123456789abcdef\".repeat(usize::MAX);
      Run
      \n-
      source

      pub fn concat<Item: ?Sized>(&self) -> <Self as Concat<Item>>::Output
      where\n+

      source

      pub fn concat<Item: ?Sized>(&self) -> <Self as Concat<Item>>::Output
      where\n Self: Concat<Item>,

      Flattens a slice of T into a single value Self::Output.

      \n
      \u00a7Examples
      \n
      assert_eq!([\"hello\", \"world\"].concat(), \"helloworld\");\n assert_eq!([[1, 2], [3, 4]].concat(), [1, 2, 3, 4]);
      Run
      \n
      1.3.0 \u00b7 source

      pub fn join<Separator>(\n &self,\n sep: Separator\n@@ -1406,40 +1406,40 @@\n sep: Separator\n ) -> <Self as Join<Separator>>::Output
      where\n Self: Join<Separator>,

      \ud83d\udc4eDeprecated since 1.3.0: renamed to join

      Flattens a slice of T into a single value Self::Output, placing a\n given separator between each.

      \n
      \u00a7Examples
      \n
      assert_eq!([\"hello\", \"world\"].connect(\" \"), \"hello world\");\n assert_eq!([[1, 2], [3, 4]].connect(&0), [1, 2, 0, 3, 4]);
      Run
      \n-
      1.23.0 \u00b7 source

      pub fn to_ascii_uppercase(&self) -> Vec<u8>

      Returns a vector containing a copy of this slice where each byte\n+

      1.23.0 \u00b7 source

      pub fn to_ascii_uppercase(&self) -> Vec<u8>

      Returns a vector containing a copy of this slice where each byte\n is mapped to its ASCII upper case equivalent.

      \n

      ASCII letters \u2018a\u2019 to \u2018z\u2019 are mapped to \u2018A\u2019 to \u2018Z\u2019,\n but non-ASCII letters are unchanged.

      \n-

      To uppercase the value in-place, use make_ascii_uppercase.

      \n-
      1.23.0 \u00b7 source

      pub fn to_ascii_lowercase(&self) -> Vec<u8>

      Returns a vector containing a copy of this slice where each byte\n+

      To uppercase the value in-place, use make_ascii_uppercase.

      \n+
      1.23.0 \u00b7 source

      pub fn to_ascii_lowercase(&self) -> Vec<u8>

      Returns a vector containing a copy of this slice where each byte\n is mapped to its ASCII lower case equivalent.

      \n

      ASCII letters \u2018A\u2019 to \u2018Z\u2019 are mapped to \u2018a\u2019 to \u2018z\u2019,\n but non-ASCII letters are unchanged.

      \n-

      To lowercase the value in-place, use make_ascii_lowercase.

      \n-
      source

      pub fn as_str(&self) -> &str

      \ud83d\udd2cThis is a nightly-only experimental API. (ascii_char #110998)

      Views this slice of ASCII characters as a UTF-8 str.

      \n-
      source

      pub fn as_bytes(&self) -> &[u8]

      \ud83d\udd2cThis is a nightly-only experimental API. (ascii_char #110998)

      Views this slice of ASCII characters as a slice of u8 bytes.

      \n-
      source

      pub fn sort_floats(&mut self)

      \ud83d\udd2cThis is a nightly-only experimental API. (sort_floats #93396)

      Sorts the slice of floats.

      \n+

      To lowercase the value in-place, use make_ascii_lowercase.

      \n+
      source

      pub fn as_str(&self) -> &str

      \ud83d\udd2cThis is a nightly-only experimental API. (ascii_char #110998)

      Views this slice of ASCII characters as a UTF-8 str.

      \n+
      source

      pub fn as_bytes(&self) -> &[u8]

      \ud83d\udd2cThis is a nightly-only experimental API. (ascii_char #110998)

      Views this slice of ASCII characters as a slice of u8 bytes.

      \n+
      source

      pub fn sort_floats(&mut self)

      \ud83d\udd2cThis is a nightly-only experimental API. (sort_floats #93396)

      Sorts the slice of floats.

      \n

      This sort is in-place (i.e. does not allocate), O(n * log(n)) worst-case, and uses\n-the ordering defined by f32::total_cmp.

      \n+the ordering defined by f32::total_cmp.

      \n
      \u00a7Current implementation
      \n-

      This uses the same sorting algorithm as sort_unstable_by.

      \n+

      This uses the same sorting algorithm as sort_unstable_by.

      \n
      \u00a7Examples
      \n
      #![feature(sort_floats)]\n let mut v = [2.6, -5e-8, f32::NAN, 8.29, f32::INFINITY, -1.0, 0.0, -f32::INFINITY, -0.0];\n \n v.sort_floats();\n let sorted = [-f32::INFINITY, -1.0, -5e-8, -0.0, 0.0, 2.6, 8.29, f32::INFINITY, f32::NAN];\n assert_eq!(&v[..8], &sorted[..8]);\n assert!(v[8].is_nan());
      Run
      \n-
      source

      pub fn flatten(&self) -> &[T]

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_flatten #95629)

      Takes a &[[T; N]], and flattens it to a &[T].

      \n+
      source

      pub fn flatten(&self) -> &[T]

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_flatten #95629)

      Takes a &[[T; N]], and flattens it to a &[T].

      \n
      \u00a7Panics
      \n

      This panics if the length of the resulting slice would overflow a usize.

      \n

      This is only possible when flattening a slice of arrays of zero-sized\n types, and thus tends to be irrelevant in practice. If\n size_of::<T>() > 0, this will never panic.

      \n
      \u00a7Examples
      \n
      #![feature(slice_flatten)]\n@@ -1452,15 +1452,15 @@\n );\n \n let slice_of_empty_arrays: &[[i32; 0]] = &[[], [], [], [], []];\n assert!(slice_of_empty_arrays.flatten().is_empty());\n \n let empty_slice_of_arrays: &[[u32; 10]] = &[];\n assert!(empty_slice_of_arrays.flatten().is_empty());
      Run
      \n-
      source

      pub fn flatten_mut(&mut self) -> &mut [T]

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_flatten #95629)

      Takes a &mut [[T; N]], and flattens it to a &mut [T].

      \n+
      source

      pub fn flatten_mut(&mut self) -> &mut [T]

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_flatten #95629)

      Takes a &mut [[T; N]], and flattens it to a &mut [T].

      \n
      \u00a7Panics
      \n

      This panics if the length of the resulting slice would overflow a usize.

      \n

      This is only possible when flattening a slice of arrays of zero-sized\n types, and thus tends to be irrelevant in practice. If\n size_of::<T>() > 0, this will never panic.

      \n
      \u00a7Examples
      \n
      #![feature(slice_flatten)]\n@@ -1470,320 +1470,320 @@\n         *i += 5;\n     }\n }\n \n let mut array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];\n add_5_to_all(array.flatten_mut());\n assert_eq!(array, [[6, 7, 8], [9, 10, 11], [12, 13, 14]]);
      Run
      \n-
      1.23.0 \u00b7 source

      pub fn is_ascii(&self) -> bool

      Checks if all bytes in this slice are within the ASCII range.

      \n-
      source

      pub fn as_ascii(&self) -> Option<&[AsciiChar]>

      \ud83d\udd2cThis is a nightly-only experimental API. (ascii_char #110998)

      If this slice is_ascii, returns it as a slice of\n-ASCII characters, otherwise returns None.

      \n-
      source

      pub unsafe fn as_ascii_unchecked(&self) -> &[AsciiChar]

      \ud83d\udd2cThis is a nightly-only experimental API. (ascii_char #110998)

      Converts this slice of bytes into a slice of ASCII characters,\n+

      1.23.0 \u00b7 source

      pub fn is_ascii(&self) -> bool

      Checks if all bytes in this slice are within the ASCII range.

      \n+
      source

      pub fn as_ascii(&self) -> Option<&[AsciiChar]>

      \ud83d\udd2cThis is a nightly-only experimental API. (ascii_char #110998)

      If this slice is_ascii, returns it as a slice of\n+ASCII characters, otherwise returns None.

      \n+
      source

      pub unsafe fn as_ascii_unchecked(&self) -> &[AsciiChar]

      \ud83d\udd2cThis is a nightly-only experimental API. (ascii_char #110998)

      Converts this slice of bytes into a slice of ASCII characters,\n without checking whether they\u2019re valid.

      \n
      \u00a7Safety
      \n

      Every byte in the slice must be in 0..=127, or else this is UB.

      \n-
      1.23.0 \u00b7 source

      pub fn eq_ignore_ascii_case(&self, other: &[u8]) -> bool

      Checks that two slices are an ASCII case-insensitive match.

      \n+
      1.23.0 \u00b7 source

      pub fn eq_ignore_ascii_case(&self, other: &[u8]) -> bool

      Checks that two slices are an ASCII case-insensitive match.

      \n

      Same as to_ascii_lowercase(a) == to_ascii_lowercase(b),\n but without allocating and copying temporaries.

      \n-
      1.23.0 \u00b7 source

      pub fn make_ascii_uppercase(&mut self)

      Converts this slice to its ASCII upper case equivalent in-place.

      \n+
      1.23.0 \u00b7 source

      pub fn make_ascii_uppercase(&mut self)

      Converts this slice to its ASCII upper case equivalent in-place.

      \n

      ASCII letters \u2018a\u2019 to \u2018z\u2019 are mapped to \u2018A\u2019 to \u2018Z\u2019,\n but non-ASCII letters are unchanged.

      \n

      To return a new uppercased value without modifying the existing one, use\n to_ascii_uppercase.

      \n-
      1.23.0 \u00b7 source

      pub fn make_ascii_lowercase(&mut self)

      Converts this slice to its ASCII lower case equivalent in-place.

      \n+
      1.23.0 \u00b7 source

      pub fn make_ascii_lowercase(&mut self)

      Converts this slice to its ASCII lower case equivalent in-place.

      \n

      ASCII letters \u2018A\u2019 to \u2018Z\u2019 are mapped to \u2018a\u2019 to \u2018z\u2019,\n but non-ASCII letters are unchanged.

      \n

      To return a new lowercased value without modifying the existing one, use\n to_ascii_lowercase.

      \n-
      1.60.0 \u00b7 source

      pub fn escape_ascii(&self) -> EscapeAscii<'_> \u24d8

      Returns an iterator that produces an escaped version of this slice,\n+

      1.60.0 \u00b7 source

      pub fn escape_ascii(&self) -> EscapeAscii<'_> \u24d8

      Returns an iterator that produces an escaped version of this slice,\n treating it as an ASCII string.

      \n
      \u00a7Examples
      \n
      \n let s = b\"0\\t\\r\\n'\\\"\\\\\\x9d\";\n let escaped = s.escape_ascii().to_string();\n assert_eq!(escaped, \"0\\\\t\\\\r\\\\n\\\\'\\\\\\\"\\\\\\\\\\\\x9d\");
      Run
      \n-
      source

      pub fn trim_ascii_start(&self) -> &[u8]

      \ud83d\udd2cThis is a nightly-only experimental API. (byte_slice_trim_ascii #94035)

      Returns a byte slice with leading ASCII whitespace bytes removed.

      \n+
      source

      pub fn trim_ascii_start(&self) -> &[u8]

      \ud83d\udd2cThis is a nightly-only experimental API. (byte_slice_trim_ascii #94035)

      Returns a byte slice with leading ASCII whitespace bytes removed.

      \n

      \u2018Whitespace\u2019 refers to the definition used by\n u8::is_ascii_whitespace.

      \n
      \u00a7Examples
      \n
      #![feature(byte_slice_trim_ascii)]\n \n assert_eq!(b\" \\t hello world\\n\".trim_ascii_start(), b\"hello world\\n\");\n assert_eq!(b\"  \".trim_ascii_start(), b\"\");\n assert_eq!(b\"\".trim_ascii_start(), b\"\");
      Run
      \n-
      source

      pub fn trim_ascii_end(&self) -> &[u8]

      \ud83d\udd2cThis is a nightly-only experimental API. (byte_slice_trim_ascii #94035)

      Returns a byte slice with trailing ASCII whitespace bytes removed.

      \n+
      source

      pub fn trim_ascii_end(&self) -> &[u8]

      \ud83d\udd2cThis is a nightly-only experimental API. (byte_slice_trim_ascii #94035)

      Returns a byte slice with trailing ASCII whitespace bytes removed.

      \n

      \u2018Whitespace\u2019 refers to the definition used by\n u8::is_ascii_whitespace.

      \n
      \u00a7Examples
      \n
      #![feature(byte_slice_trim_ascii)]\n \n assert_eq!(b\"\\r hello world\\n \".trim_ascii_end(), b\"\\r hello world\");\n assert_eq!(b\"  \".trim_ascii_end(), b\"\");\n assert_eq!(b\"\".trim_ascii_end(), b\"\");
      Run
      \n-
      source

      pub fn trim_ascii(&self) -> &[u8]

      \ud83d\udd2cThis is a nightly-only experimental API. (byte_slice_trim_ascii #94035)

      Returns a byte slice with leading and trailing ASCII whitespace bytes\n+

      source

      pub fn trim_ascii(&self) -> &[u8]

      \ud83d\udd2cThis is a nightly-only experimental API. (byte_slice_trim_ascii #94035)

      Returns a byte slice with leading and trailing ASCII whitespace bytes\n removed.

      \n

      \u2018Whitespace\u2019 refers to the definition used by\n u8::is_ascii_whitespace.

      \n
      \u00a7Examples
      \n
      #![feature(byte_slice_trim_ascii)]\n \n assert_eq!(b\"\\r hello world\\n \".trim_ascii(), b\"hello world\");\n assert_eq!(b\"  \".trim_ascii(), b\"\");\n assert_eq!(b\"\".trim_ascii(), b\"\");
      Run
      \n-
      source

      pub fn sort_floats(&mut self)

      \ud83d\udd2cThis is a nightly-only experimental API. (sort_floats #93396)

      Sorts the slice of floats.

      \n+
      source

      pub fn sort_floats(&mut self)

      \ud83d\udd2cThis is a nightly-only experimental API. (sort_floats #93396)

      Sorts the slice of floats.

      \n

      This sort is in-place (i.e. does not allocate), O(n * log(n)) worst-case, and uses\n-the ordering defined by f64::total_cmp.

      \n+the ordering defined by f64::total_cmp.

      \n
      \u00a7Current implementation
      \n-

      This uses the same sorting algorithm as sort_unstable_by.

      \n+

      This uses the same sorting algorithm as sort_unstable_by.

      \n
      \u00a7Examples
      \n
      #![feature(sort_floats)]\n let mut v = [2.6, -5e-8, f64::NAN, 8.29, f64::INFINITY, -1.0, 0.0, -f64::INFINITY, -0.0];\n \n v.sort_floats();\n let sorted = [-f64::INFINITY, -1.0, -5e-8, -0.0, 0.0, 2.6, 8.29, f64::INFINITY, f64::NAN];\n assert_eq!(&v[..8], &sorted[..8]);\n assert!(v[8].is_nan());
      Run
      \n-
      source

      pub fn len(&self) -> usize

      Returns the number of elements in the slice.

      \n+
      source

      pub fn len(&self) -> usize

      Returns the number of elements in the slice.

      \n
      \u00a7Examples
      \n
      let a = [1, 2, 3];\n assert_eq!(a.len(), 3);
      Run
      \n-
      source

      pub fn is_empty(&self) -> bool

      Returns true if the slice has a length of 0.

      \n+
      source

      pub fn is_empty(&self) -> bool

      Returns true if the slice has a length of 0.

      \n
      \u00a7Examples
      \n
      let a = [1, 2, 3];\n assert!(!a.is_empty());\n \n let b: &[i32] = &[];\n assert!(b.is_empty());
      Run
      \n-
      source

      pub fn first(&self) -> Option<&T>

      Returns the first element of the slice, or None if it is empty.

      \n+
      source

      pub fn first(&self) -> Option<&T>

      Returns the first element of the slice, or None if it is empty.

      \n
      \u00a7Examples
      \n
      let v = [10, 40, 30];\n assert_eq!(Some(&10), v.first());\n \n let w: &[i32] = &[];\n assert_eq!(None, w.first());
      Run
      \n-
      source

      pub fn first_mut(&mut self) -> Option<&mut T>

      Returns a mutable pointer to the first element of the slice, or None if it is empty.

      \n+
      source

      pub fn first_mut(&mut self) -> Option<&mut T>

      Returns a mutable pointer to the first element of the slice, or None if it is empty.

      \n
      \u00a7Examples
      \n
      let x = &mut [0, 1, 2];\n \n if let Some(first) = x.first_mut() {\n     *first = 5;\n }\n assert_eq!(x, &[5, 1, 2]);\n \n let y: &mut [i32] = &mut [];\n assert_eq!(None, y.first_mut());
      Run
      \n-
      1.5.0 \u00b7 source

      pub fn split_first(&self) -> Option<(&T, &[T])>

      Returns the first and all the rest of the elements of the slice, or None if it is empty.

      \n+
      1.5.0 \u00b7 source

      pub fn split_first(&self) -> Option<(&T, &[T])>

      Returns the first and all the rest of the elements of the slice, or None if it is empty.

      \n
      \u00a7Examples
      \n
      let x = &[0, 1, 2];\n \n if let Some((first, elements)) = x.split_first() {\n     assert_eq!(first, &0);\n     assert_eq!(elements, &[1, 2]);\n }
      Run
      \n-
      1.5.0 \u00b7 source

      pub fn split_first_mut(&mut self) -> Option<(&mut T, &mut [T])>

      Returns the first and all the rest of the elements of the slice, or None if it is empty.

      \n+
      1.5.0 \u00b7 source

      pub fn split_first_mut(&mut self) -> Option<(&mut T, &mut [T])>

      Returns the first and all the rest of the elements of the slice, or None if it is empty.

      \n
      \u00a7Examples
      \n
      let x = &mut [0, 1, 2];\n \n if let Some((first, elements)) = x.split_first_mut() {\n     *first = 3;\n     elements[0] = 4;\n     elements[1] = 5;\n }\n assert_eq!(x, &[3, 4, 5]);
      Run
      \n-
      1.5.0 \u00b7 source

      pub fn split_last(&self) -> Option<(&T, &[T])>

      Returns the last and all the rest of the elements of the slice, or None if it is empty.

      \n+
      1.5.0 \u00b7 source

      pub fn split_last(&self) -> Option<(&T, &[T])>

      Returns the last and all the rest of the elements of the slice, or None if it is empty.

      \n
      \u00a7Examples
      \n
      let x = &[0, 1, 2];\n \n if let Some((last, elements)) = x.split_last() {\n     assert_eq!(last, &2);\n     assert_eq!(elements, &[0, 1]);\n }
      Run
      \n-
      1.5.0 \u00b7 source

      pub fn split_last_mut(&mut self) -> Option<(&mut T, &mut [T])>

      Returns the last and all the rest of the elements of the slice, or None if it is empty.

      \n+
      1.5.0 \u00b7 source

      pub fn split_last_mut(&mut self) -> Option<(&mut T, &mut [T])>

      Returns the last and all the rest of the elements of the slice, or None if it is empty.

      \n
      \u00a7Examples
      \n
      let x = &mut [0, 1, 2];\n \n if let Some((last, elements)) = x.split_last_mut() {\n     *last = 3;\n     elements[0] = 4;\n     elements[1] = 5;\n }\n assert_eq!(x, &[4, 5, 3]);
      Run
      \n-
      source

      pub fn last(&self) -> Option<&T>

      Returns the last element of the slice, or None if it is empty.

      \n+
      source

      pub fn last(&self) -> Option<&T>

      Returns the last element of the slice, or None if it is empty.

      \n
      \u00a7Examples
      \n
      let v = [10, 40, 30];\n assert_eq!(Some(&30), v.last());\n \n let w: &[i32] = &[];\n assert_eq!(None, w.last());
      Run
      \n-
      source

      pub fn last_mut(&mut self) -> Option<&mut T>

      Returns a mutable reference to the last item in the slice, or None if it is empty.

      \n+
      source

      pub fn last_mut(&mut self) -> Option<&mut T>

      Returns a mutable reference to the last item in the slice, or None if it is empty.

      \n
      \u00a7Examples
      \n
      let x = &mut [0, 1, 2];\n \n if let Some(last) = x.last_mut() {\n     *last = 10;\n }\n assert_eq!(x, &[0, 1, 10]);\n \n let y: &mut [i32] = &mut [];\n assert_eq!(None, y.last_mut());
      Run
      \n-
      1.77.0 \u00b7 source

      pub fn first_chunk<const N: usize>(&self) -> Option<&[T; N]>

      Return an array reference to the first N items in the slice.

      \n+
      1.77.0 \u00b7 source

      pub fn first_chunk<const N: usize>(&self) -> Option<&[T; N]>

      Return an array reference to the first N items in the slice.

      \n

      If the slice is not at least N in length, this will return None.

      \n
      \u00a7Examples
      \n
      let u = [10, 40, 30];\n assert_eq!(Some(&[10, 40]), u.first_chunk::<2>());\n \n let v: &[i32] = &[10];\n assert_eq!(None, v.first_chunk::<2>());\n \n let w: &[i32] = &[];\n assert_eq!(Some(&[]), w.first_chunk::<0>());
      Run
      \n-
      1.77.0 \u00b7 source

      pub fn first_chunk_mut<const N: usize>(&mut self) -> Option<&mut [T; N]>

      Return a mutable array reference to the first N items in the slice.

      \n+
      1.77.0 \u00b7 source

      pub fn first_chunk_mut<const N: usize>(&mut self) -> Option<&mut [T; N]>

      Return a mutable array reference to the first N items in the slice.

      \n

      If the slice is not at least N in length, this will return None.

      \n
      \u00a7Examples
      \n
      let x = &mut [0, 1, 2];\n \n if let Some(first) = x.first_chunk_mut::<2>() {\n     first[0] = 5;\n     first[1] = 4;\n }\n assert_eq!(x, &[5, 4, 2]);\n \n assert_eq!(None, x.first_chunk_mut::<4>());
      Run
      \n-
      1.77.0 \u00b7 source

      pub fn split_first_chunk<const N: usize>(&self) -> Option<(&[T; N], &[T])>

      Return an array reference to the first N items in the slice and the remaining slice.

      \n+
      1.77.0 \u00b7 source

      pub fn split_first_chunk<const N: usize>(&self) -> Option<(&[T; N], &[T])>

      Return an array reference to the first N items in the slice and the remaining slice.

      \n

      If the slice is not at least N in length, this will return None.

      \n
      \u00a7Examples
      \n
      let x = &[0, 1, 2];\n \n if let Some((first, elements)) = x.split_first_chunk::<2>() {\n     assert_eq!(first, &[0, 1]);\n     assert_eq!(elements, &[2]);\n }\n \n assert_eq!(None, x.split_first_chunk::<4>());
      Run
      \n-
      1.77.0 \u00b7 source

      pub fn split_first_chunk_mut<const N: usize>(\n+

      1.77.0 \u00b7 source

      pub fn split_first_chunk_mut<const N: usize>(\n &mut self\n-) -> Option<(&mut [T; N], &mut [T])>

      Return a mutable array reference to the first N items in the slice and the remaining\n+) -> Option<(&mut [T; N], &mut [T])>

      Return a mutable array reference to the first N items in the slice and the remaining\n slice.

      \n

      If the slice is not at least N in length, this will return None.

      \n
      \u00a7Examples
      \n
      let x = &mut [0, 1, 2];\n \n if let Some((first, elements)) = x.split_first_chunk_mut::<2>() {\n     first[0] = 3;\n     first[1] = 4;\n     elements[0] = 5;\n }\n assert_eq!(x, &[3, 4, 5]);\n \n assert_eq!(None, x.split_first_chunk_mut::<4>());
      Run
      \n-
      1.77.0 \u00b7 source

      pub fn split_last_chunk<const N: usize>(&self) -> Option<(&[T], &[T; N])>

      Return an array reference to the last N items in the slice and the remaining slice.

      \n+
      1.77.0 \u00b7 source

      pub fn split_last_chunk<const N: usize>(&self) -> Option<(&[T], &[T; N])>

      Return an array reference to the last N items in the slice and the remaining slice.

      \n

      If the slice is not at least N in length, this will return None.

      \n
      \u00a7Examples
      \n
      let x = &[0, 1, 2];\n \n if let Some((elements, last)) = x.split_last_chunk::<2>() {\n     assert_eq!(elements, &[0]);\n     assert_eq!(last, &[1, 2]);\n }\n \n assert_eq!(None, x.split_last_chunk::<4>());
      Run
      \n-
      1.77.0 \u00b7 source

      pub fn split_last_chunk_mut<const N: usize>(\n+

      1.77.0 \u00b7 source

      pub fn split_last_chunk_mut<const N: usize>(\n &mut self\n-) -> Option<(&mut [T], &mut [T; N])>

      Return a mutable array reference to the last N items in the slice and the remaining\n+) -> Option<(&mut [T], &mut [T; N])>

      Return a mutable array reference to the last N items in the slice and the remaining\n slice.

      \n

      If the slice is not at least N in length, this will return None.

      \n
      \u00a7Examples
      \n
      let x = &mut [0, 1, 2];\n \n if let Some((elements, last)) = x.split_last_chunk_mut::<2>() {\n     last[0] = 3;\n     last[1] = 4;\n     elements[0] = 5;\n }\n assert_eq!(x, &[5, 3, 4]);\n \n assert_eq!(None, x.split_last_chunk_mut::<4>());
      Run
      \n-
      1.77.0 \u00b7 source

      pub fn last_chunk<const N: usize>(&self) -> Option<&[T; N]>

      Return an array reference to the last N items in the slice.

      \n+
      1.77.0 \u00b7 source

      pub fn last_chunk<const N: usize>(&self) -> Option<&[T; N]>

      Return an array reference to the last N items in the slice.

      \n

      If the slice is not at least N in length, this will return None.

      \n
      \u00a7Examples
      \n
      let u = [10, 40, 30];\n assert_eq!(Some(&[40, 30]), u.last_chunk::<2>());\n \n let v: &[i32] = &[10];\n assert_eq!(None, v.last_chunk::<2>());\n \n let w: &[i32] = &[];\n assert_eq!(Some(&[]), w.last_chunk::<0>());
      Run
      \n-
      1.77.0 \u00b7 source

      pub fn last_chunk_mut<const N: usize>(&mut self) -> Option<&mut [T; N]>

      Return a mutable array reference to the last N items in the slice.

      \n+
      1.77.0 \u00b7 source

      pub fn last_chunk_mut<const N: usize>(&mut self) -> Option<&mut [T; N]>

      Return a mutable array reference to the last N items in the slice.

      \n

      If the slice is not at least N in length, this will return None.

      \n
      \u00a7Examples
      \n
      let x = &mut [0, 1, 2];\n \n if let Some(last) = x.last_chunk_mut::<2>() {\n     last[0] = 10;\n     last[1] = 20;\n }\n assert_eq!(x, &[0, 10, 20]);\n \n assert_eq!(None, x.last_chunk_mut::<4>());
      Run
      \n-
      source

      pub fn get<I>(&self, index: I) -> Option<&<I as SliceIndex<[T]>>::Output>
      where\n- I: SliceIndex<[T]>,

      Returns a reference to an element or subslice depending on the type of\n+

      source

      pub fn get<I>(&self, index: I) -> Option<&<I as SliceIndex<[T]>>::Output>
      where\n+ I: SliceIndex<[T]>,

      Returns a reference to an element or subslice depending on the type of\n index.

      \n
        \n
      • If given a position, returns a reference to the element at that\n position or None if out of bounds.
      • \n
      • If given a range, returns the subslice corresponding to that range,\n or None if out of bounds.
      • \n
      \n
      \u00a7Examples
      \n
      let v = [10, 40, 30];\n assert_eq!(Some(&40), v.get(1));\n assert_eq!(Some(&[10, 40][..]), v.get(0..2));\n assert_eq!(None, v.get(3));\n assert_eq!(None, v.get(0..4));
      Run
      \n-
      source

      pub fn get_mut<I>(\n+

      source

      pub fn get_mut<I>(\n &mut self,\n index: I\n-) -> Option<&mut <I as SliceIndex<[T]>>::Output>
      where\n- I: SliceIndex<[T]>,

      Returns a mutable reference to an element or subslice depending on the\n-type of index (see get) or None if the index is out of bounds.

      \n+) -> Option<&mut <I as SliceIndex<[T]>>::Output>
      where\n+ I: SliceIndex<[T]>,

      Returns a mutable reference to an element or subslice depending on the\n+type of index (see get) or None if the index is out of bounds.

      \n
      \u00a7Examples
      \n
      let x = &mut [0, 1, 2];\n \n if let Some(elem) = x.get_mut(1) {\n     *elem = 42;\n }\n assert_eq!(x, &[0, 42, 2]);
      Run
      \n-
      source

      pub unsafe fn get_unchecked<I>(\n+

      source

      pub unsafe fn get_unchecked<I>(\n &self,\n index: I\n-) -> &<I as SliceIndex<[T]>>::Output
      where\n- I: SliceIndex<[T]>,

      Returns a reference to an element or subslice, without doing bounds\n+) -> &<I as SliceIndex<[T]>>::Output

      where\n+ I: SliceIndex<[T]>,

      Returns a reference to an element or subslice, without doing bounds\n checking.

      \n-

      For a safe alternative see get.

      \n+

      For a safe alternative see get.

      \n
      \u00a7Safety
      \n

      Calling this method with an out-of-bounds index is undefined behavior\n even if the resulting reference is not used.

      \n

      You can think of this like .get(index).unwrap_unchecked(). It\u2019s UB\n to call .get_unchecked(len), even if you immediately convert to a\n pointer. And it\u2019s UB to call .get_unchecked(..len + 1),\n .get_unchecked(..=len), or similar.

      \n
      \u00a7Examples
      \n
      let x = &[1, 2, 4];\n \n unsafe {\n     assert_eq!(x.get_unchecked(1), &2);\n }
      Run
      \n-
      source

      pub unsafe fn get_unchecked_mut<I>(\n+

      source

      pub unsafe fn get_unchecked_mut<I>(\n &mut self,\n index: I\n-) -> &mut <I as SliceIndex<[T]>>::Output
      where\n- I: SliceIndex<[T]>,

      Returns a mutable reference to an element or subslice, without doing\n+) -> &mut <I as SliceIndex<[T]>>::Output

      where\n+ I: SliceIndex<[T]>,

      Returns a mutable reference to an element or subslice, without doing\n bounds checking.

      \n-

      For a safe alternative see get_mut.

      \n+

      For a safe alternative see get_mut.

      \n
      \u00a7Safety
      \n

      Calling this method with an out-of-bounds index is undefined behavior\n even if the resulting reference is not used.

      \n

      You can think of this like .get_mut(index).unwrap_unchecked(). It\u2019s\n UB to call .get_unchecked_mut(len), even if you immediately convert\n to a pointer. And it\u2019s UB to call .get_unchecked_mut(..len + 1),\n .get_unchecked_mut(..=len), or similar.

      \n@@ -1791,92 +1791,92 @@\n
      let x = &mut [1, 2, 4];\n \n unsafe {\n     let elem = x.get_unchecked_mut(1);\n     *elem = 13;\n }\n assert_eq!(x, &[1, 13, 4]);
      Run
      \n-
      source

      pub fn as_ptr(&self) -> *const T

      Returns a raw pointer to the slice\u2019s buffer.

      \n+
      source

      pub fn as_ptr(&self) -> *const T

      Returns a raw pointer to the slice\u2019s buffer.

      \n

      The caller must ensure that the slice outlives the pointer this\n function returns, or else it will end up pointing to garbage.

      \n

      The caller must also ensure that the memory the pointer (non-transitively) points to\n is never written to (except inside an UnsafeCell) using this pointer or any pointer\n-derived from it. If you need to mutate the contents of the slice, use as_mut_ptr.

      \n+derived from it. If you need to mutate the contents of the slice, use as_mut_ptr.

      \n

      Modifying the container referenced by this slice may cause its buffer\n to be reallocated, which would also make any pointers to it invalid.

      \n
      \u00a7Examples
      \n
      let x = &[1, 2, 4];\n let x_ptr = x.as_ptr();\n \n unsafe {\n     for i in 0..x.len() {\n         assert_eq!(x.get_unchecked(i), &*x_ptr.add(i));\n     }\n }
      Run
      \n-
      source

      pub fn as_mut_ptr(&mut self) -> *mut T

      Returns an unsafe mutable pointer to the slice\u2019s buffer.

      \n+
      source

      pub fn as_mut_ptr(&mut self) -> *mut T

      Returns an unsafe mutable pointer to the slice\u2019s buffer.

      \n

      The caller must ensure that the slice outlives the pointer this\n function returns, or else it will end up pointing to garbage.

      \n

      Modifying the container referenced by this slice may cause its buffer\n to be reallocated, which would also make any pointers to it invalid.

      \n
      \u00a7Examples
      \n
      let x = &mut [1, 2, 4];\n let x_ptr = x.as_mut_ptr();\n \n unsafe {\n     for i in 0..x.len() {\n         *x_ptr.add(i) += 2;\n     }\n }\n assert_eq!(x, &[3, 4, 6]);
      Run
      \n-
      1.48.0 \u00b7 source

      pub fn as_ptr_range(&self) -> Range<*const T>

      Returns the two raw pointers spanning the slice.

      \n+
      1.48.0 \u00b7 source

      pub fn as_ptr_range(&self) -> Range<*const T>

      Returns the two raw pointers spanning the slice.

      \n

      The returned range is half-open, which means that the end pointer\n points one past the last element of the slice. This way, an empty\n slice is represented by two equal pointers, and the difference between\n the two pointers represents the size of the slice.

      \n-

      See as_ptr for warnings on using these pointers. The end pointer\n+

      See as_ptr for warnings on using these pointers. The end pointer\n requires extra caution, as it does not point to a valid element in the\n slice.

      \n

      This function is useful for interacting with foreign interfaces which\n use two pointers to refer to a range of elements in memory, as is\n common in C++.

      \n

      It can also be useful to check if a pointer to an element refers to an\n element of this slice:

      \n \n
      let a = [1, 2, 3];\n let x = &a[1] as *const _;\n let y = &5 as *const _;\n \n assert!(a.as_ptr_range().contains(&x));\n assert!(!a.as_ptr_range().contains(&y));
      Run
      \n-
      1.48.0 \u00b7 source

      pub fn as_mut_ptr_range(&mut self) -> Range<*mut T>

      Returns the two unsafe mutable pointers spanning the slice.

      \n+
      1.48.0 \u00b7 source

      pub fn as_mut_ptr_range(&mut self) -> Range<*mut T>

      Returns the two unsafe mutable pointers spanning the slice.

      \n

      The returned range is half-open, which means that the end pointer\n points one past the last element of the slice. This way, an empty\n slice is represented by two equal pointers, and the difference between\n the two pointers represents the size of the slice.

      \n-

      See as_mut_ptr for warnings on using these pointers. The end\n+

      See as_mut_ptr for warnings on using these pointers. The end\n pointer requires extra caution, as it does not point to a valid element\n in the slice.

      \n

      This function is useful for interacting with foreign interfaces which\n use two pointers to refer to a range of elements in memory, as is\n common in C++.

      \n-
      source

      pub fn swap(&mut self, a: usize, b: usize)

      Swaps two elements in the slice.

      \n+
      source

      pub fn swap(&mut self, a: usize, b: usize)

      Swaps two elements in the slice.

      \n

      If a equals to b, it\u2019s guaranteed that elements won\u2019t change value.

      \n
      \u00a7Arguments
      \n
        \n
      • a - The index of the first element
      • \n
      • b - The index of the second element
      • \n
      \n
      \u00a7Panics
      \n

      Panics if a or b are out of bounds.

      \n
      \u00a7Examples
      \n
      let mut v = [\"a\", \"b\", \"c\", \"d\", \"e\"];\n v.swap(2, 4);\n assert!(v == [\"a\", \"b\", \"e\", \"d\", \"c\"]);
      Run
      \n-
      source

      pub unsafe fn swap_unchecked(&mut self, a: usize, b: usize)

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_swap_unchecked #88539)

      Swaps two elements in the slice, without doing bounds checking.

      \n-

      For a safe alternative see swap.

      \n+
      source

      pub unsafe fn swap_unchecked(&mut self, a: usize, b: usize)

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_swap_unchecked #88539)

      Swaps two elements in the slice, without doing bounds checking.

      \n+

      For a safe alternative see swap.

      \n
      \u00a7Arguments
      \n
        \n
      • a - The index of the first element
      • \n
      • b - The index of the second element
      • \n
      \n
      \u00a7Safety
      \n

      Calling this method with an out-of-bounds index is undefined behavior.\n@@ -1884,38 +1884,38 @@\n

      \u00a7Examples
      \n
      #![feature(slice_swap_unchecked)]\n \n let mut v = [\"a\", \"b\", \"c\", \"d\"];\n // SAFETY: we know that 1 and 3 are both indices of the slice\n unsafe { v.swap_unchecked(1, 3) };\n assert!(v == [\"a\", \"d\", \"c\", \"b\"]);
      Run
      \n-
      source

      pub fn reverse(&mut self)

      Reverses the order of elements in the slice, in place.

      \n+
      source

      pub fn reverse(&mut self)

      Reverses the order of elements in the slice, in place.

      \n
      \u00a7Examples
      \n
      let mut v = [1, 2, 3];\n v.reverse();\n assert!(v == [3, 2, 1]);
      Run
      \n-
      source

      pub fn iter(&self) -> Iter<'_, T> \u24d8

      Returns an iterator over the slice.

      \n+
      source

      pub fn iter(&self) -> Iter<'_, T> \u24d8

      Returns an iterator over the slice.

      \n

      The iterator yields all items from start to end.

      \n
      \u00a7Examples
      \n
      let x = &[1, 2, 4];\n let mut iterator = x.iter();\n \n assert_eq!(iterator.next(), Some(&1));\n assert_eq!(iterator.next(), Some(&2));\n assert_eq!(iterator.next(), Some(&4));\n assert_eq!(iterator.next(), None);
      Run
      \n-
      source

      pub fn iter_mut(&mut self) -> IterMut<'_, T> \u24d8

      Returns an iterator that allows modifying each value.

      \n+
      source

      pub fn iter_mut(&mut self) -> IterMut<'_, T> \u24d8

      Returns an iterator that allows modifying each value.

      \n

      The iterator yields all items from start to end.

      \n
      \u00a7Examples
      \n
      let x = &mut [1, 2, 4];\n for elem in x.iter_mut() {\n     *elem += 2;\n }\n assert_eq!(x, &[3, 4, 6]);
      Run
      \n-
      source

      pub fn windows(&self, size: usize) -> Windows<'_, T> \u24d8

      Returns an iterator over all contiguous windows of length\n+

      source

      pub fn windows(&self, size: usize) -> Windows<'_, T> \u24d8

      Returns an iterator over all contiguous windows of length\n size. The windows overlap. If the slice is shorter than\n size, the iterator returns no values.

      \n
      \u00a7Panics
      \n

      Panics if size is 0.

      \n
      \u00a7Examples
      \n
      let slice = ['l', 'o', 'r', 'e', 'm'];\n let mut iter = slice.windows(3);\n@@ -1926,104 +1926,104 @@\n 

      If the slice is shorter than size:

      \n \n
      let slice = ['f', 'o', 'o'];\n let mut iter = slice.windows(4);\n assert!(iter.next().is_none());
      Run
      \n

      There\u2019s no windows_mut, as that existing would let safe code violate the\n \u201conly one &mut at a time to the same thing\u201d rule. However, you can sometimes\n-use Cell::as_slice_of_cells in\n+use Cell::as_slice_of_cells in\n conjunction with windows to accomplish something similar:

      \n \n
      use std::cell::Cell;\n \n let mut array = ['R', 'u', 's', 't', ' ', '2', '0', '1', '5'];\n let slice = &mut array[..];\n let slice_of_cells: &[Cell<char>] = Cell::from_mut(slice).as_slice_of_cells();\n for w in slice_of_cells.windows(3) {\n     Cell::swap(&w[0], &w[2]);\n }\n assert_eq!(array, ['s', 't', ' ', '2', '0', '1', '5', 'u', 'R']);
      Run
      \n-
      source

      pub fn chunks(&self, chunk_size: usize) -> Chunks<'_, T> \u24d8

      Returns an iterator over chunk_size elements of the slice at a time, starting at the\n+

      source

      pub fn chunks(&self, chunk_size: usize) -> Chunks<'_, T> \u24d8

      Returns an iterator over chunk_size elements of the slice at a time, starting at the\n beginning of the slice.

      \n

      The chunks are slices and do not overlap. If chunk_size does not divide the length of the\n slice, then the last chunk will not have length chunk_size.

      \n-

      See chunks_exact for a variant of this iterator that returns chunks of always exactly\n-chunk_size elements, and rchunks for the same iterator but starting at the end of the\n+

      See chunks_exact for a variant of this iterator that returns chunks of always exactly\n+chunk_size elements, and rchunks for the same iterator but starting at the end of the\n slice.

      \n
      \u00a7Panics
      \n

      Panics if chunk_size is 0.

      \n
      \u00a7Examples
      \n
      let slice = ['l', 'o', 'r', 'e', 'm'];\n let mut iter = slice.chunks(2);\n assert_eq!(iter.next().unwrap(), &['l', 'o']);\n assert_eq!(iter.next().unwrap(), &['r', 'e']);\n assert_eq!(iter.next().unwrap(), &['m']);\n assert!(iter.next().is_none());
      Run
      \n-
      source

      pub fn chunks_mut(&mut self, chunk_size: usize) -> ChunksMut<'_, T> \u24d8

      Returns an iterator over chunk_size elements of the slice at a time, starting at the\n+

      source

      pub fn chunks_mut(&mut self, chunk_size: usize) -> ChunksMut<'_, T> \u24d8

      Returns an iterator over chunk_size elements of the slice at a time, starting at the\n beginning of the slice.

      \n

      The chunks are mutable slices, and do not overlap. If chunk_size does not divide the\n length of the slice, then the last chunk will not have length chunk_size.

      \n-

      See chunks_exact_mut for a variant of this iterator that returns chunks of always\n-exactly chunk_size elements, and rchunks_mut for the same iterator but starting at\n+

      See chunks_exact_mut for a variant of this iterator that returns chunks of always\n+exactly chunk_size elements, and rchunks_mut for the same iterator but starting at\n the end of the slice.

      \n
      \u00a7Panics
      \n

      Panics if chunk_size is 0.

      \n
      \u00a7Examples
      \n
      let v = &mut [0, 0, 0, 0, 0];\n let mut count = 1;\n \n for chunk in v.chunks_mut(2) {\n     for elem in chunk.iter_mut() {\n         *elem += count;\n     }\n     count += 1;\n }\n assert_eq!(v, &[1, 1, 2, 2, 3]);
      Run
      \n-
      1.31.0 \u00b7 source

      pub fn chunks_exact(&self, chunk_size: usize) -> ChunksExact<'_, T> \u24d8

      Returns an iterator over chunk_size elements of the slice at a time, starting at the\n+

      1.31.0 \u00b7 source

      pub fn chunks_exact(&self, chunk_size: usize) -> ChunksExact<'_, T> \u24d8

      Returns an iterator over chunk_size elements of the slice at a time, starting at the\n beginning of the slice.

      \n

      The chunks are slices and do not overlap. If chunk_size does not divide the length of the\n slice, then the last up to chunk_size-1 elements will be omitted and can be retrieved\n from the remainder function of the iterator.

      \n

      Due to each chunk having exactly chunk_size elements, the compiler can often optimize the\n-resulting code better than in the case of chunks.

      \n-

      See chunks for a variant of this iterator that also returns the remainder as a smaller\n-chunk, and rchunks_exact for the same iterator but starting at the end of the slice.

      \n+resulting code better than in the case of chunks.

      \n+

      See chunks for a variant of this iterator that also returns the remainder as a smaller\n+chunk, and rchunks_exact for the same iterator but starting at the end of the slice.

      \n
      \u00a7Panics
      \n

      Panics if chunk_size is 0.

      \n
      \u00a7Examples
      \n
      let slice = ['l', 'o', 'r', 'e', 'm'];\n let mut iter = slice.chunks_exact(2);\n assert_eq!(iter.next().unwrap(), &['l', 'o']);\n assert_eq!(iter.next().unwrap(), &['r', 'e']);\n assert!(iter.next().is_none());\n assert_eq!(iter.remainder(), &['m']);
      Run
      \n-
      1.31.0 \u00b7 source

      pub fn chunks_exact_mut(&mut self, chunk_size: usize) -> ChunksExactMut<'_, T> \u24d8

      Returns an iterator over chunk_size elements of the slice at a time, starting at the\n+

      1.31.0 \u00b7 source

      pub fn chunks_exact_mut(&mut self, chunk_size: usize) -> ChunksExactMut<'_, T> \u24d8

      Returns an iterator over chunk_size elements of the slice at a time, starting at the\n beginning of the slice.

      \n

      The chunks are mutable slices, and do not overlap. If chunk_size does not divide the\n length of the slice, then the last up to chunk_size-1 elements will be omitted and can be\n retrieved from the into_remainder function of the iterator.

      \n

      Due to each chunk having exactly chunk_size elements, the compiler can often optimize the\n-resulting code better than in the case of chunks_mut.

      \n-

      See chunks_mut for a variant of this iterator that also returns the remainder as a\n-smaller chunk, and rchunks_exact_mut for the same iterator but starting at the end of\n+resulting code better than in the case of chunks_mut.

      \n+

      See chunks_mut for a variant of this iterator that also returns the remainder as a\n+smaller chunk, and rchunks_exact_mut for the same iterator but starting at the end of\n the slice.

      \n
      \u00a7Panics
      \n

      Panics if chunk_size is 0.

      \n
      \u00a7Examples
      \n
      let v = &mut [0, 0, 0, 0, 0];\n let mut count = 1;\n \n for chunk in v.chunks_exact_mut(2) {\n     for elem in chunk.iter_mut() {\n         *elem += count;\n     }\n     count += 1;\n }\n assert_eq!(v, &[1, 1, 2, 2, 0]);
      Run
      \n-
      source

      pub unsafe fn as_chunks_unchecked<const N: usize>(&self) -> &[[T; N]]

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_as_chunks #74985)

      Splits the slice into a slice of N-element arrays,\n+

      source

      pub unsafe fn as_chunks_unchecked<const N: usize>(&self) -> &[[T; N]]

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_as_chunks #74985)

      Splits the slice into a slice of N-element arrays,\n assuming that there\u2019s no remainder.

      \n
      \u00a7Safety
      \n

      This may only be called when

      \n
        \n
      • The slice splits exactly into N-element chunks (aka self.len() % N == 0).
      • \n
      • N != 0.
      • \n
      \n@@ -2038,15 +2038,15 @@\n // SAFETY: The slice length (6) is a multiple of 3\n unsafe { slice.as_chunks_unchecked() };\n assert_eq!(chunks, &[['l', 'o', 'r'], ['e', 'm', '!']]);\n \n // These would be unsound:\n // let chunks: &[[_; 5]] = slice.as_chunks_unchecked() // The slice length is not a multiple of 5\n // let chunks: &[[_; 0]] = slice.as_chunks_unchecked() // Zero-length chunks are never allowed
      Run
      \n-
      source

      pub fn as_chunks<const N: usize>(&self) -> (&[[T; N]], &[T])

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_as_chunks #74985)

      Splits the slice into a slice of N-element arrays,\n+

      source

      pub fn as_chunks<const N: usize>(&self) -> (&[[T; N]], &[T])

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_as_chunks #74985)

      Splits the slice into a slice of N-element arrays,\n starting at the beginning of the slice,\n and a remainder slice with length strictly less than N.

      \n
      \u00a7Panics
      \n

      Panics if N is 0. This check will most probably get changed to a compile time\n error before this method gets stabilized.

      \n
      \u00a7Examples
      \n
      #![feature(slice_as_chunks)]\n@@ -2059,46 +2059,46 @@\n \n 
      #![feature(slice_as_chunks)]\n let slice = ['R', 'u', 's', 't'];\n let (chunks, []) = slice.as_chunks::<2>() else {\n     panic!(\"slice didn't have even length\")\n };\n assert_eq!(chunks, &[['R', 'u'], ['s', 't']]);
      Run
      \n-
      source

      pub fn as_rchunks<const N: usize>(&self) -> (&[T], &[[T; N]])

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_as_chunks #74985)

      Splits the slice into a slice of N-element arrays,\n+

      source

      pub fn as_rchunks<const N: usize>(&self) -> (&[T], &[[T; N]])

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_as_chunks #74985)

      Splits the slice into a slice of N-element arrays,\n starting at the end of the slice,\n and a remainder slice with length strictly less than N.

      \n
      \u00a7Panics
      \n

      Panics if N is 0. This check will most probably get changed to a compile time\n error before this method gets stabilized.

      \n
      \u00a7Examples
      \n
      #![feature(slice_as_chunks)]\n let slice = ['l', 'o', 'r', 'e', 'm'];\n let (remainder, chunks) = slice.as_rchunks();\n assert_eq!(remainder, &['l']);\n assert_eq!(chunks, &[['o', 'r'], ['e', 'm']]);
      Run
      \n-
      source

      pub fn array_chunks<const N: usize>(&self) -> ArrayChunks<'_, T, N> \u24d8

      \ud83d\udd2cThis is a nightly-only experimental API. (array_chunks #74985)

      Returns an iterator over N elements of the slice at a time, starting at the\n+

      source

      pub fn array_chunks<const N: usize>(&self) -> ArrayChunks<'_, T, N> \u24d8

      \ud83d\udd2cThis is a nightly-only experimental API. (array_chunks #74985)

      Returns an iterator over N elements of the slice at a time, starting at the\n beginning of the slice.

      \n

      The chunks are array references and do not overlap. If N does not divide the\n length of the slice, then the last up to N-1 elements will be omitted and can be\n retrieved from the remainder function of the iterator.

      \n-

      This method is the const generic equivalent of chunks_exact.

      \n+

      This method is the const generic equivalent of chunks_exact.

      \n
      \u00a7Panics
      \n

      Panics if N is 0. This check will most probably get changed to a compile time\n error before this method gets stabilized.

      \n
      \u00a7Examples
      \n
      #![feature(array_chunks)]\n let slice = ['l', 'o', 'r', 'e', 'm'];\n let mut iter = slice.array_chunks();\n assert_eq!(iter.next().unwrap(), &['l', 'o']);\n assert_eq!(iter.next().unwrap(), &['r', 'e']);\n assert!(iter.next().is_none());\n assert_eq!(iter.remainder(), &['m']);
      Run
      \n-
      source

      pub unsafe fn as_chunks_unchecked_mut<const N: usize>(\n+

      source

      pub unsafe fn as_chunks_unchecked_mut<const N: usize>(\n &mut self\n-) -> &mut [[T; N]]

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_as_chunks #74985)

      Splits the slice into a slice of N-element arrays,\n+) -> &mut [[T; N]]

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_as_chunks #74985)

      Splits the slice into a slice of N-element arrays,\n assuming that there\u2019s no remainder.

      \n
      \u00a7Safety
      \n

      This may only be called when

      \n
        \n
      • The slice splits exactly into N-element chunks (aka self.len() % N == 0).
      • \n
      • N != 0.
      • \n
      \n@@ -2115,15 +2115,15 @@\n unsafe { slice.as_chunks_unchecked_mut() };\n chunks[1] = ['a', 'x', '?'];\n assert_eq!(slice, &['L', 'o', 'r', 'a', 'x', '?']);\n \n // These would be unsound:\n // let chunks: &[[_; 5]] = slice.as_chunks_unchecked_mut() // The slice length is not a multiple of 5\n // let chunks: &[[_; 0]] = slice.as_chunks_unchecked_mut() // Zero-length chunks are never allowed
      Run
      \n-
      source

      pub fn as_chunks_mut<const N: usize>(&mut self) -> (&mut [[T; N]], &mut [T])

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_as_chunks #74985)

      Splits the slice into a slice of N-element arrays,\n+

      source

      pub fn as_chunks_mut<const N: usize>(&mut self) -> (&mut [[T; N]], &mut [T])

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_as_chunks #74985)

      Splits the slice into a slice of N-element arrays,\n starting at the beginning of the slice,\n and a remainder slice with length strictly less than N.

      \n
      \u00a7Panics
      \n

      Panics if N is 0. This check will most probably get changed to a compile time\n error before this method gets stabilized.

      \n
      \u00a7Examples
      \n
      #![feature(slice_as_chunks)]\n@@ -2133,15 +2133,15 @@\n let (chunks, remainder) = v.as_chunks_mut();\n remainder[0] = 9;\n for chunk in chunks {\n     *chunk = [count; 2];\n     count += 1;\n }\n assert_eq!(v, &[1, 1, 2, 2, 9]);
      Run
      \n-
      source

      pub fn as_rchunks_mut<const N: usize>(&mut self) -> (&mut [T], &mut [[T; N]])

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_as_chunks #74985)

      Splits the slice into a slice of N-element arrays,\n+

      source

      pub fn as_rchunks_mut<const N: usize>(&mut self) -> (&mut [T], &mut [[T; N]])

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_as_chunks #74985)

      Splits the slice into a slice of N-element arrays,\n starting at the end of the slice,\n and a remainder slice with length strictly less than N.

      \n
      \u00a7Panics
      \n

      Panics if N is 0. This check will most probably get changed to a compile time\n error before this method gets stabilized.

      \n
      \u00a7Examples
      \n
      #![feature(slice_as_chunks)]\n@@ -2151,128 +2151,128 @@\n let (remainder, chunks) = v.as_rchunks_mut();\n remainder[0] = 9;\n for chunk in chunks {\n     *chunk = [count; 2];\n     count += 1;\n }\n assert_eq!(v, &[9, 1, 1, 2, 2]);
      Run
      \n-
      source

      pub fn array_chunks_mut<const N: usize>(&mut self) -> ArrayChunksMut<'_, T, N> \u24d8

      \ud83d\udd2cThis is a nightly-only experimental API. (array_chunks #74985)

      Returns an iterator over N elements of the slice at a time, starting at the\n+

      source

      pub fn array_chunks_mut<const N: usize>(&mut self) -> ArrayChunksMut<'_, T, N> \u24d8

      \ud83d\udd2cThis is a nightly-only experimental API. (array_chunks #74985)

      Returns an iterator over N elements of the slice at a time, starting at the\n beginning of the slice.

      \n

      The chunks are mutable array references and do not overlap. If N does not divide\n the length of the slice, then the last up to N-1 elements will be omitted and\n can be retrieved from the into_remainder function of the iterator.

      \n-

      This method is the const generic equivalent of chunks_exact_mut.

      \n+

      This method is the const generic equivalent of chunks_exact_mut.

      \n
      \u00a7Panics
      \n

      Panics if N is 0. This check will most probably get changed to a compile time\n error before this method gets stabilized.

      \n
      \u00a7Examples
      \n
      #![feature(array_chunks)]\n let v = &mut [0, 0, 0, 0, 0];\n let mut count = 1;\n \n for chunk in v.array_chunks_mut() {\n     *chunk = [count; 2];\n     count += 1;\n }\n assert_eq!(v, &[1, 1, 2, 2, 0]);
      Run
      \n-
      source

      pub fn array_windows<const N: usize>(&self) -> ArrayWindows<'_, T, N> \u24d8

      \ud83d\udd2cThis is a nightly-only experimental API. (array_windows #75027)

      Returns an iterator over overlapping windows of N elements of a slice,\n+

      source

      pub fn array_windows<const N: usize>(&self) -> ArrayWindows<'_, T, N> \u24d8

      \ud83d\udd2cThis is a nightly-only experimental API. (array_windows #75027)

      Returns an iterator over overlapping windows of N elements of a slice,\n starting at the beginning of the slice.

      \n-

      This is the const generic equivalent of windows.

      \n+

      This is the const generic equivalent of windows.

      \n

      If N is greater than the size of the slice, it will return no windows.

      \n
      \u00a7Panics
      \n

      Panics if N is 0. This check will most probably get changed to a compile time\n error before this method gets stabilized.

      \n
      \u00a7Examples
      \n
      #![feature(array_windows)]\n let slice = [0, 1, 2, 3];\n let mut iter = slice.array_windows();\n assert_eq!(iter.next().unwrap(), &[0, 1]);\n assert_eq!(iter.next().unwrap(), &[1, 2]);\n assert_eq!(iter.next().unwrap(), &[2, 3]);\n assert!(iter.next().is_none());
      Run
      \n-
      1.31.0 \u00b7 source

      pub fn rchunks(&self, chunk_size: usize) -> RChunks<'_, T> \u24d8

      Returns an iterator over chunk_size elements of the slice at a time, starting at the end\n+

      1.31.0 \u00b7 source

      pub fn rchunks(&self, chunk_size: usize) -> RChunks<'_, T> \u24d8

      Returns an iterator over chunk_size elements of the slice at a time, starting at the end\n of the slice.

      \n

      The chunks are slices and do not overlap. If chunk_size does not divide the length of the\n slice, then the last chunk will not have length chunk_size.

      \n-

      See rchunks_exact for a variant of this iterator that returns chunks of always exactly\n-chunk_size elements, and chunks for the same iterator but starting at the beginning\n+

      See rchunks_exact for a variant of this iterator that returns chunks of always exactly\n+chunk_size elements, and chunks for the same iterator but starting at the beginning\n of the slice.

      \n
      \u00a7Panics
      \n

      Panics if chunk_size is 0.

      \n
      \u00a7Examples
      \n
      let slice = ['l', 'o', 'r', 'e', 'm'];\n let mut iter = slice.rchunks(2);\n assert_eq!(iter.next().unwrap(), &['e', 'm']);\n assert_eq!(iter.next().unwrap(), &['o', 'r']);\n assert_eq!(iter.next().unwrap(), &['l']);\n assert!(iter.next().is_none());
      Run
      \n-
      1.31.0 \u00b7 source

      pub fn rchunks_mut(&mut self, chunk_size: usize) -> RChunksMut<'_, T> \u24d8

      Returns an iterator over chunk_size elements of the slice at a time, starting at the end\n+

      1.31.0 \u00b7 source

      pub fn rchunks_mut(&mut self, chunk_size: usize) -> RChunksMut<'_, T> \u24d8

      Returns an iterator over chunk_size elements of the slice at a time, starting at the end\n of the slice.

      \n

      The chunks are mutable slices, and do not overlap. If chunk_size does not divide the\n length of the slice, then the last chunk will not have length chunk_size.

      \n-

      See rchunks_exact_mut for a variant of this iterator that returns chunks of always\n-exactly chunk_size elements, and chunks_mut for the same iterator but starting at the\n+

      See rchunks_exact_mut for a variant of this iterator that returns chunks of always\n+exactly chunk_size elements, and chunks_mut for the same iterator but starting at the\n beginning of the slice.

      \n
      \u00a7Panics
      \n

      Panics if chunk_size is 0.

      \n
      \u00a7Examples
      \n
      let v = &mut [0, 0, 0, 0, 0];\n let mut count = 1;\n \n for chunk in v.rchunks_mut(2) {\n     for elem in chunk.iter_mut() {\n         *elem += count;\n     }\n     count += 1;\n }\n assert_eq!(v, &[3, 2, 2, 1, 1]);
      Run
      \n-
      1.31.0 \u00b7 source

      pub fn rchunks_exact(&self, chunk_size: usize) -> RChunksExact<'_, T> \u24d8

      Returns an iterator over chunk_size elements of the slice at a time, starting at the\n+

      1.31.0 \u00b7 source

      pub fn rchunks_exact(&self, chunk_size: usize) -> RChunksExact<'_, T> \u24d8

      Returns an iterator over chunk_size elements of the slice at a time, starting at the\n end of the slice.

      \n

      The chunks are slices and do not overlap. If chunk_size does not divide the length of the\n slice, then the last up to chunk_size-1 elements will be omitted and can be retrieved\n from the remainder function of the iterator.

      \n

      Due to each chunk having exactly chunk_size elements, the compiler can often optimize the\n-resulting code better than in the case of rchunks.

      \n-

      See rchunks for a variant of this iterator that also returns the remainder as a smaller\n-chunk, and chunks_exact for the same iterator but starting at the beginning of the\n+resulting code better than in the case of rchunks.

      \n+

      See rchunks for a variant of this iterator that also returns the remainder as a smaller\n+chunk, and chunks_exact for the same iterator but starting at the beginning of the\n slice.

      \n
      \u00a7Panics
      \n

      Panics if chunk_size is 0.

      \n
      \u00a7Examples
      \n
      let slice = ['l', 'o', 'r', 'e', 'm'];\n let mut iter = slice.rchunks_exact(2);\n assert_eq!(iter.next().unwrap(), &['e', 'm']);\n assert_eq!(iter.next().unwrap(), &['o', 'r']);\n assert!(iter.next().is_none());\n assert_eq!(iter.remainder(), &['l']);
      Run
      \n-
      1.31.0 \u00b7 source

      pub fn rchunks_exact_mut(&mut self, chunk_size: usize) -> RChunksExactMut<'_, T> \u24d8

      Returns an iterator over chunk_size elements of the slice at a time, starting at the end\n+

      1.31.0 \u00b7 source

      pub fn rchunks_exact_mut(&mut self, chunk_size: usize) -> RChunksExactMut<'_, T> \u24d8

      Returns an iterator over chunk_size elements of the slice at a time, starting at the end\n of the slice.

      \n

      The chunks are mutable slices, and do not overlap. If chunk_size does not divide the\n length of the slice, then the last up to chunk_size-1 elements will be omitted and can be\n retrieved from the into_remainder function of the iterator.

      \n

      Due to each chunk having exactly chunk_size elements, the compiler can often optimize the\n-resulting code better than in the case of chunks_mut.

      \n-

      See rchunks_mut for a variant of this iterator that also returns the remainder as a\n-smaller chunk, and chunks_exact_mut for the same iterator but starting at the beginning\n+resulting code better than in the case of chunks_mut.

      \n+

      See rchunks_mut for a variant of this iterator that also returns the remainder as a\n+smaller chunk, and chunks_exact_mut for the same iterator but starting at the beginning\n of the slice.

      \n
      \u00a7Panics
      \n

      Panics if chunk_size is 0.

      \n
      \u00a7Examples
      \n
      let v = &mut [0, 0, 0, 0, 0];\n let mut count = 1;\n \n for chunk in v.rchunks_exact_mut(2) {\n     for elem in chunk.iter_mut() {\n         *elem += count;\n     }\n     count += 1;\n }\n assert_eq!(v, &[0, 2, 2, 1, 1]);
      Run
      \n-
      1.77.0 \u00b7 source

      pub fn chunk_by<F>(&self, pred: F) -> ChunkBy<'_, T, F> \u24d8
      where\n- F: FnMut(&T, &T) -> bool,

      Returns an iterator over the slice producing non-overlapping runs\n+

      1.77.0 \u00b7 source

      pub fn chunk_by<F>(&self, pred: F) -> ChunkBy<'_, T, F> \u24d8
      where\n+ F: FnMut(&T, &T) -> bool,

      Returns an iterator over the slice producing non-overlapping runs\n of elements using the predicate to separate them.

      \n

      The predicate is called for every pair of consecutive elements,\n meaning that it is called on slice[0] and slice[1],\n followed by slice[1] and slice[2], and so on.

      \n
      \u00a7Examples
      \n
      let slice = &[1, 1, 1, 3, 3, 2, 2, 2];\n \n@@ -2288,16 +2288,16 @@\n \n let mut iter = slice.chunk_by(|a, b| a <= b);\n \n assert_eq!(iter.next(), Some(&[1, 1, 2, 3][..]));\n assert_eq!(iter.next(), Some(&[2, 3][..]));\n assert_eq!(iter.next(), Some(&[2, 3, 4][..]));\n assert_eq!(iter.next(), None);
      Run
      \n-
      1.77.0 \u00b7 source

      pub fn chunk_by_mut<F>(&mut self, pred: F) -> ChunkByMut<'_, T, F> \u24d8
      where\n- F: FnMut(&T, &T) -> bool,

      Returns an iterator over the slice producing non-overlapping mutable\n+

      1.77.0 \u00b7 source

      pub fn chunk_by_mut<F>(&mut self, pred: F) -> ChunkByMut<'_, T, F> \u24d8
      where\n+ F: FnMut(&T, &T) -> bool,

      Returns an iterator over the slice producing non-overlapping mutable\n runs of elements using the predicate to separate them.

      \n

      The predicate is called for every pair of consecutive elements,\n meaning that it is called on slice[0] and slice[1],\n followed by slice[1] and slice[2], and so on.

      \n
      \u00a7Examples
      \n
      let slice = &mut [1, 1, 1, 3, 3, 2, 2, 2];\n \n@@ -2313,21 +2313,21 @@\n \n let mut iter = slice.chunk_by_mut(|a, b| a <= b);\n \n assert_eq!(iter.next(), Some(&mut [1, 1, 2, 3][..]));\n assert_eq!(iter.next(), Some(&mut [2, 3][..]));\n assert_eq!(iter.next(), Some(&mut [2, 3, 4][..]));\n assert_eq!(iter.next(), None);
      Run
      \n-
      source

      pub fn split_at(&self, mid: usize) -> (&[T], &[T])

      Divides one slice into two at an index.

      \n+
      source

      pub fn split_at(&self, mid: usize) -> (&[T], &[T])

      Divides one slice into two at an index.

      \n

      The first will contain all indices from [0, mid) (excluding\n the index mid itself) and the second will contain all\n indices from [mid, len) (excluding the index len itself).

      \n
      \u00a7Panics
      \n

      Panics if mid > len. For a non-panicking alternative see\n-split_at_checked.

      \n+split_at_checked.

      \n
      \u00a7Examples
      \n
      let v = [1, 2, 3, 4, 5, 6];\n \n {\n    let (left, right) = v.split_at(0);\n    assert_eq!(left, []);\n    assert_eq!(right, [1, 2, 3, 4, 5, 6]);\n@@ -2340,34 +2340,34 @@\n }\n \n {\n     let (left, right) = v.split_at(6);\n     assert_eq!(left, [1, 2, 3, 4, 5, 6]);\n     assert_eq!(right, []);\n }
      Run
      \n-
      source

      pub fn split_at_mut(&mut self, mid: usize) -> (&mut [T], &mut [T])

      Divides one mutable slice into two at an index.

      \n+
      source

      pub fn split_at_mut(&mut self, mid: usize) -> (&mut [T], &mut [T])

      Divides one mutable slice into two at an index.

      \n

      The first will contain all indices from [0, mid) (excluding\n the index mid itself) and the second will contain all\n indices from [mid, len) (excluding the index len itself).

      \n
      \u00a7Panics
      \n

      Panics if mid > len. For a non-panicking alternative see\n-split_at_mut_checked.

      \n+split_at_mut_checked.

      \n
      \u00a7Examples
      \n
      let mut v = [1, 0, 3, 0, 5, 6];\n let (left, right) = v.split_at_mut(2);\n assert_eq!(left, [1, 0]);\n assert_eq!(right, [3, 0, 5, 6]);\n left[1] = 2;\n right[1] = 4;\n assert_eq!(v, [1, 2, 3, 4, 5, 6]);
      Run
      \n-
      source

      pub unsafe fn split_at_unchecked(&self, mid: usize) -> (&[T], &[T])

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_split_at_unchecked #76014)

      Divides one slice into two at an index, without doing bounds checking.

      \n+
      source

      pub unsafe fn split_at_unchecked(&self, mid: usize) -> (&[T], &[T])

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_split_at_unchecked #76014)

      Divides one slice into two at an index, without doing bounds checking.

      \n

      The first will contain all indices from [0, mid) (excluding\n the index mid itself) and the second will contain all\n indices from [mid, len) (excluding the index len itself).

      \n-

      For a safe alternative see split_at.

      \n+

      For a safe alternative see split_at.

      \n
      \u00a7Safety
      \n

      Calling this method with an out-of-bounds index is undefined behavior\n even if the resulting reference is not used. The caller has to ensure that\n 0 <= mid <= self.len().

      \n
      \u00a7Examples
      \n
      #![feature(slice_split_at_unchecked)]\n \n@@ -2386,22 +2386,22 @@\n }\n \n unsafe {\n     let (left, right) = v.split_at_unchecked(6);\n     assert_eq!(left, [1, 2, 3, 4, 5, 6]);\n     assert_eq!(right, []);\n }
      Run
      \n-
      source

      pub unsafe fn split_at_mut_unchecked(\n+

      source

      pub unsafe fn split_at_mut_unchecked(\n &mut self,\n- mid: usize\n-) -> (&mut [T], &mut [T])

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_split_at_unchecked #76014)

      Divides one mutable slice into two at an index, without doing bounds checking.

      \n+ mid: usize\n+) -> (&mut [T], &mut [T])
      \ud83d\udd2cThis is a nightly-only experimental API. (slice_split_at_unchecked #76014)

      Divides one mutable slice into two at an index, without doing bounds checking.

      \n

      The first will contain all indices from [0, mid) (excluding\n the index mid itself) and the second will contain all\n indices from [mid, len) (excluding the index len itself).

      \n-

      For a safe alternative see split_at_mut.

      \n+

      For a safe alternative see split_at_mut.

      \n
      \u00a7Safety
      \n

      Calling this method with an out-of-bounds index is undefined behavior\n even if the resulting reference is not used. The caller has to ensure that\n 0 <= mid <= self.len().

      \n
      \u00a7Examples
      \n
      #![feature(slice_split_at_unchecked)]\n \n@@ -2411,15 +2411,15 @@\n     let (left, right) = v.split_at_mut_unchecked(2);\n     assert_eq!(left, [1, 0]);\n     assert_eq!(right, [3, 0, 5, 6]);\n     left[1] = 2;\n     right[1] = 4;\n }\n assert_eq!(v, [1, 2, 3, 4, 5, 6]);
      Run
      \n-
      source

      pub fn split_at_checked(&self, mid: usize) -> Option<(&[T], &[T])>

      \ud83d\udd2cThis is a nightly-only experimental API. (split_at_checked #119128)

      Divides one slice into two at an index, returning None if the slice is\n+

      source

      pub fn split_at_checked(&self, mid: usize) -> Option<(&[T], &[T])>

      \ud83d\udd2cThis is a nightly-only experimental API. (split_at_checked #119128)

      Divides one slice into two at an index, returning None if the slice is\n too short.

      \n

      If mid \u2264 len returns a pair of slices where the first will contain all\n indices from [0, mid) (excluding the index mid itself) and the\n second will contain all indices from [mid, len) (excluding the index\n len itself).

      \n

      Otherwise, if mid > len, returns None.

      \n
      \u00a7Examples
      \n@@ -2442,18 +2442,18 @@\n {\n let (left, right) = v.split_at_checked(6).unwrap();\n assert_eq!(left, [1, -2, 3, -4, 5, -6]);\n assert_eq!(right, []);\n }\n \n assert_eq!(None, v.split_at_checked(7));Run
      \n-
      source

      pub fn split_at_mut_checked(\n+

      source

      pub fn split_at_mut_checked(\n &mut self,\n- mid: usize\n-) -> Option<(&mut [T], &mut [T])>

      \ud83d\udd2cThis is a nightly-only experimental API. (split_at_checked #119128)

      Divides one mutable slice into two at an index, returning None if the\n+ mid: usize\n+) -> Option<(&mut [T], &mut [T])>

      \ud83d\udd2cThis is a nightly-only experimental API. (split_at_checked #119128)

      Divides one mutable slice into two at an index, returning None if the\n slice is too short.

      \n

      If mid \u2264 len returns a pair of slices where the first will contain all\n indices from [0, mid) (excluding the index mid itself) and the\n second will contain all indices from [mid, len) (excluding the index\n len itself).

      \n

      Otherwise, if mid > len, returns None.

      \n
      \u00a7Examples
      \n@@ -2466,16 +2466,16 @@\n assert_eq!(right, [3, 0, 5, 6]);\n left[1] = 2;\n right[1] = 4;\n }\n assert_eq!(v, [1, 2, 3, 4, 5, 6]);\n \n assert_eq!(None, v.split_at_mut_checked(7));Run
      \n-
      source

      pub fn split<F>(&self, pred: F) -> Split<'_, T, F> \u24d8
      where\n- F: FnMut(&T) -> bool,

      Returns an iterator over subslices separated by elements that match\n+

      source

      pub fn split<F>(&self, pred: F) -> Split<'_, T, F> \u24d8
      where\n+ F: FnMut(&T) -> bool,

      Returns an iterator over subslices separated by elements that match\n pred. The matched element is not contained in the subslices.

      \n
      \u00a7Examples
      \n
      let slice = [10, 40, 33, 20];\n let mut iter = slice.split(|num| num % 3 == 0);\n \n assert_eq!(iter.next().unwrap(), &[10, 40]);\n assert_eq!(iter.next().unwrap(), &[20]);\n@@ -2497,26 +2497,26 @@\n 
      let slice = [10, 6, 33, 20];\n let mut iter = slice.split(|num| num % 3 == 0);\n \n assert_eq!(iter.next().unwrap(), &[10]);\n assert_eq!(iter.next().unwrap(), &[]);\n assert_eq!(iter.next().unwrap(), &[20]);\n assert!(iter.next().is_none());
      Run
      \n-
      source

      pub fn split_mut<F>(&mut self, pred: F) -> SplitMut<'_, T, F> \u24d8
      where\n- F: FnMut(&T) -> bool,

      Returns an iterator over mutable subslices separated by elements that\n+

      source

      pub fn split_mut<F>(&mut self, pred: F) -> SplitMut<'_, T, F> \u24d8
      where\n+ F: FnMut(&T) -> bool,

      Returns an iterator over mutable subslices separated by elements that\n match pred. The matched element is not contained in the subslices.

      \n
      \u00a7Examples
      \n
      let mut v = [10, 40, 30, 20, 60, 50];\n \n for group in v.split_mut(|num| *num % 3 == 0) {\n     group[0] = 1;\n }\n assert_eq!(v, [1, 40, 30, 1, 60, 1]);
      Run
      \n-
      1.51.0 \u00b7 source

      pub fn split_inclusive<F>(&self, pred: F) -> SplitInclusive<'_, T, F> \u24d8
      where\n- F: FnMut(&T) -> bool,

      Returns an iterator over subslices separated by elements that match\n+

      1.51.0 \u00b7 source

      pub fn split_inclusive<F>(&self, pred: F) -> SplitInclusive<'_, T, F> \u24d8
      where\n+ F: FnMut(&T) -> bool,

      Returns an iterator over subslices separated by elements that match\n pred. The matched element is contained in the end of the previous\n subslice as a terminator.

      \n
      \u00a7Examples
      \n
      let slice = [10, 40, 33, 20];\n let mut iter = slice.split_inclusive(|num| num % 3 == 0);\n \n assert_eq!(iter.next().unwrap(), &[10, 40, 33]);\n@@ -2528,28 +2528,28 @@\n \n 
      let slice = [3, 10, 40, 33];\n let mut iter = slice.split_inclusive(|num| num % 3 == 0);\n \n assert_eq!(iter.next().unwrap(), &[3]);\n assert_eq!(iter.next().unwrap(), &[10, 40, 33]);\n assert!(iter.next().is_none());
      Run
      \n-
      1.51.0 \u00b7 source

      pub fn split_inclusive_mut<F>(&mut self, pred: F) -> SplitInclusiveMut<'_, T, F> \u24d8
      where\n- F: FnMut(&T) -> bool,

      Returns an iterator over mutable subslices separated by elements that\n+

      1.51.0 \u00b7 source

      pub fn split_inclusive_mut<F>(&mut self, pred: F) -> SplitInclusiveMut<'_, T, F> \u24d8
      where\n+ F: FnMut(&T) -> bool,

      Returns an iterator over mutable subslices separated by elements that\n match pred. The matched element is contained in the previous\n subslice as a terminator.

      \n
      \u00a7Examples
      \n
      let mut v = [10, 40, 30, 20, 60, 50];\n \n for group in v.split_inclusive_mut(|num| *num % 3 == 0) {\n     let terminator_idx = group.len()-1;\n     group[terminator_idx] = 1;\n }\n assert_eq!(v, [10, 40, 1, 20, 1, 1]);
      Run
      \n-
      1.27.0 \u00b7 source

      pub fn rsplit<F>(&self, pred: F) -> RSplit<'_, T, F> \u24d8
      where\n- F: FnMut(&T) -> bool,

      Returns an iterator over subslices separated by elements that match\n+

      1.27.0 \u00b7 source

      pub fn rsplit<F>(&self, pred: F) -> RSplit<'_, T, F> \u24d8
      where\n+ F: FnMut(&T) -> bool,

      Returns an iterator over subslices separated by elements that match\n pred, starting at the end of the slice and working backwards.\n The matched element is not contained in the subslices.

      \n
      \u00a7Examples
      \n
      let slice = [11, 22, 33, 0, 44, 55];\n let mut iter = slice.rsplit(|num| *num == 0);\n \n assert_eq!(iter.next().unwrap(), &[44, 55]);\n@@ -2561,161 +2561,161 @@\n 
      let v = &[0, 1, 1, 2, 3, 5, 8];\n let mut it = v.rsplit(|n| *n % 2 == 0);\n assert_eq!(it.next().unwrap(), &[]);\n assert_eq!(it.next().unwrap(), &[3, 5]);\n assert_eq!(it.next().unwrap(), &[1, 1]);\n assert_eq!(it.next().unwrap(), &[]);\n assert_eq!(it.next(), None);
      Run
      \n-
      1.27.0 \u00b7 source

      pub fn rsplit_mut<F>(&mut self, pred: F) -> RSplitMut<'_, T, F> \u24d8
      where\n- F: FnMut(&T) -> bool,

      Returns an iterator over mutable subslices separated by elements that\n+

      1.27.0 \u00b7 source

      pub fn rsplit_mut<F>(&mut self, pred: F) -> RSplitMut<'_, T, F> \u24d8
      where\n+ F: FnMut(&T) -> bool,

      Returns an iterator over mutable subslices separated by elements that\n match pred, starting at the end of the slice and working\n backwards. The matched element is not contained in the subslices.

      \n
      \u00a7Examples
      \n
      let mut v = [100, 400, 300, 200, 600, 500];\n \n let mut count = 0;\n for group in v.rsplit_mut(|num| *num % 3 == 0) {\n     count += 1;\n     group[0] = count;\n }\n assert_eq!(v, [3, 400, 300, 2, 600, 1]);
      Run
      \n-
      source

      pub fn splitn<F>(&self, n: usize, pred: F) -> SplitN<'_, T, F> \u24d8
      where\n- F: FnMut(&T) -> bool,

      Returns an iterator over subslices separated by elements that match\n+

      source

      pub fn splitn<F>(&self, n: usize, pred: F) -> SplitN<'_, T, F> \u24d8
      where\n+ F: FnMut(&T) -> bool,

      Returns an iterator over subslices separated by elements that match\n pred, limited to returning at most n items. The matched element is\n not contained in the subslices.

      \n

      The last element returned, if any, will contain the remainder of the\n slice.

      \n
      \u00a7Examples
      \n

      Print the slice split once by numbers divisible by 3 (i.e., [10, 40],\n [20, 60, 50]):

      \n \n
      let v = [10, 40, 30, 20, 60, 50];\n \n for group in v.splitn(2, |num| *num % 3 == 0) {\n     println!(\"{group:?}\");\n }
      Run
      \n-
      source

      pub fn splitn_mut<F>(&mut self, n: usize, pred: F) -> SplitNMut<'_, T, F> \u24d8
      where\n- F: FnMut(&T) -> bool,

      Returns an iterator over mutable subslices separated by elements that match\n+

      source

      pub fn splitn_mut<F>(&mut self, n: usize, pred: F) -> SplitNMut<'_, T, F> \u24d8
      where\n+ F: FnMut(&T) -> bool,

      Returns an iterator over mutable subslices separated by elements that match\n pred, limited to returning at most n items. The matched element is\n not contained in the subslices.

      \n

      The last element returned, if any, will contain the remainder of the\n slice.

      \n
      \u00a7Examples
      \n
      let mut v = [10, 40, 30, 20, 60, 50];\n \n for group in v.splitn_mut(2, |num| *num % 3 == 0) {\n     group[0] = 1;\n }\n assert_eq!(v, [1, 40, 30, 1, 60, 50]);
      Run
      \n-
      source

      pub fn rsplitn<F>(&self, n: usize, pred: F) -> RSplitN<'_, T, F> \u24d8
      where\n- F: FnMut(&T) -> bool,

      Returns an iterator over subslices separated by elements that match\n+

      source

      pub fn rsplitn<F>(&self, n: usize, pred: F) -> RSplitN<'_, T, F> \u24d8
      where\n+ F: FnMut(&T) -> bool,

      Returns an iterator over subslices separated by elements that match\n pred limited to returning at most n items. This starts at the end of\n the slice and works backwards. The matched element is not contained in\n the subslices.

      \n

      The last element returned, if any, will contain the remainder of the\n slice.

      \n
      \u00a7Examples
      \n

      Print the slice split once, starting from the end, by numbers divisible\n by 3 (i.e., [50], [10, 40, 30, 20]):

      \n \n
      let v = [10, 40, 30, 20, 60, 50];\n \n for group in v.rsplitn(2, |num| *num % 3 == 0) {\n     println!(\"{group:?}\");\n }
      Run
      \n-
      source

      pub fn rsplitn_mut<F>(&mut self, n: usize, pred: F) -> RSplitNMut<'_, T, F> \u24d8
      where\n- F: FnMut(&T) -> bool,

      Returns an iterator over subslices separated by elements that match\n+

      source

      pub fn rsplitn_mut<F>(&mut self, n: usize, pred: F) -> RSplitNMut<'_, T, F> \u24d8
      where\n+ F: FnMut(&T) -> bool,

      Returns an iterator over subslices separated by elements that match\n pred limited to returning at most n items. This starts at the end of\n the slice and works backwards. The matched element is not contained in\n the subslices.

      \n

      The last element returned, if any, will contain the remainder of the\n slice.

      \n
      \u00a7Examples
      \n
      let mut s = [10, 40, 30, 20, 60, 50];\n \n for group in s.rsplitn_mut(2, |num| *num % 3 == 0) {\n     group[0] = 1;\n }\n assert_eq!(s, [1, 40, 30, 20, 60, 1]);
      Run
      \n-
      source

      pub fn split_once<F>(&self, pred: F) -> Option<(&[T], &[T])>
      where\n- F: FnMut(&T) -> bool,

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_split_once #112811)

      Splits the slice on the first element that matches the specified\n+

      source

      pub fn split_once<F>(&self, pred: F) -> Option<(&[T], &[T])>
      where\n+ F: FnMut(&T) -> bool,

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_split_once #112811)

      Splits the slice on the first element that matches the specified\n predicate.

      \n

      If any matching elements are present in the slice, returns the prefix\n before the match and suffix after. The matching element itself is not\n included. If no elements match, returns None.

      \n
      \u00a7Examples
      \n
      #![feature(slice_split_once)]\n let s = [1, 2, 3, 2, 4];\n assert_eq!(s.split_once(|&x| x == 2), Some((\n     &[1][..],\n     &[3, 2, 4][..]\n )));\n assert_eq!(s.split_once(|&x| x == 0), None);
      Run
      \n-
      source

      pub fn rsplit_once<F>(&self, pred: F) -> Option<(&[T], &[T])>
      where\n- F: FnMut(&T) -> bool,

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_split_once #112811)

      Splits the slice on the last element that matches the specified\n+

      source

      pub fn rsplit_once<F>(&self, pred: F) -> Option<(&[T], &[T])>
      where\n+ F: FnMut(&T) -> bool,

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_split_once #112811)

      Splits the slice on the last element that matches the specified\n predicate.

      \n

      If any matching elements are present in the slice, returns the prefix\n before the match and suffix after. The matching element itself is not\n included. If no elements match, returns None.

      \n
      \u00a7Examples
      \n
      #![feature(slice_split_once)]\n let s = [1, 2, 3, 2, 4];\n assert_eq!(s.rsplit_once(|&x| x == 2), Some((\n     &[1, 2, 3][..],\n     &[4][..]\n )));\n assert_eq!(s.rsplit_once(|&x| x == 0), None);
      Run
      \n-
      source

      pub fn contains(&self, x: &T) -> bool
      where\n- T: PartialEq,

      Returns true if the slice contains an element with the given value.

      \n+
      source

      pub fn contains(&self, x: &T) -> bool
      where\n+ T: PartialEq,

      Returns true if the slice contains an element with the given value.

      \n

      This operation is O(n).

      \n-

      Note that if you have a sorted slice, binary_search may be faster.

      \n+

      Note that if you have a sorted slice, binary_search may be faster.

      \n
      \u00a7Examples
      \n
      let v = [10, 40, 30];\n assert!(v.contains(&30));\n assert!(!v.contains(&50));
      Run
      \n

      If you do not have a &T, but some other value that you can compare\n with one (for example, String implements PartialEq<str>), you can\n use iter().any:

      \n \n
      let v = [String::from(\"hello\"), String::from(\"world\")]; // slice of `String`\n assert!(v.iter().any(|e| e == \"hello\")); // search with `&str`\n assert!(!v.iter().any(|e| e == \"hi\"));
      Run
      \n-
      source

      pub fn starts_with(&self, needle: &[T]) -> bool
      where\n- T: PartialEq,

      Returns true if needle is a prefix of the slice or equal to the slice.

      \n+
      source

      pub fn starts_with(&self, needle: &[T]) -> bool
      where\n+ T: PartialEq,

      Returns true if needle is a prefix of the slice or equal to the slice.

      \n
      \u00a7Examples
      \n
      let v = [10, 40, 30];\n assert!(v.starts_with(&[10]));\n assert!(v.starts_with(&[10, 40]));\n assert!(v.starts_with(&v));\n assert!(!v.starts_with(&[50]));\n assert!(!v.starts_with(&[10, 50]));
      Run
      \n

      Always returns true if needle is an empty slice:

      \n \n
      let v = &[10, 40, 30];\n assert!(v.starts_with(&[]));\n let v: &[u8] = &[];\n assert!(v.starts_with(&[]));
      Run
      \n-
      source

      pub fn ends_with(&self, needle: &[T]) -> bool
      where\n- T: PartialEq,

      Returns true if needle is a suffix of the slice or equal to the slice.

      \n+
      source

      pub fn ends_with(&self, needle: &[T]) -> bool
      where\n+ T: PartialEq,

      Returns true if needle is a suffix of the slice or equal to the slice.

      \n
      \u00a7Examples
      \n
      let v = [10, 40, 30];\n assert!(v.ends_with(&[30]));\n assert!(v.ends_with(&[40, 30]));\n assert!(v.ends_with(&v));\n assert!(!v.ends_with(&[50]));\n assert!(!v.ends_with(&[50, 30]));
      Run
      \n

      Always returns true if needle is an empty slice:

      \n \n
      let v = &[10, 40, 30];\n assert!(v.ends_with(&[]));\n let v: &[u8] = &[];\n assert!(v.ends_with(&[]));
      Run
      \n-
      1.51.0 \u00b7 source

      pub fn strip_prefix<P>(&self, prefix: &P) -> Option<&[T]>
      where\n- P: SlicePattern<Item = T> + ?Sized,\n- T: PartialEq,

      Returns a subslice with the prefix removed.

      \n+
      1.51.0 \u00b7 source

      pub fn strip_prefix<P>(&self, prefix: &P) -> Option<&[T]>
      where\n+ P: SlicePattern<Item = T> + ?Sized,\n+ T: PartialEq,

      Returns a subslice with the prefix removed.

      \n

      If the slice starts with prefix, returns the subslice after the prefix, wrapped in Some.\n If prefix is empty, simply returns the original slice. If prefix is equal to the\n original slice, returns an empty slice.

      \n

      If the slice does not start with prefix, returns None.

      \n
      \u00a7Examples
      \n
      let v = &[10, 40, 30];\n assert_eq!(v.strip_prefix(&[10]), Some(&[40, 30][..]));\n@@ -2723,54 +2723,54 @@\n assert_eq!(v.strip_prefix(&[10, 40, 30]), Some(&[][..]));\n assert_eq!(v.strip_prefix(&[50]), None);\n assert_eq!(v.strip_prefix(&[10, 50]), None);\n \n let prefix : &str = \"he\";\n assert_eq!(b\"hello\".strip_prefix(prefix.as_bytes()),\n            Some(b\"llo\".as_ref()));
      Run
      \n-
      1.51.0 \u00b7 source

      pub fn strip_suffix<P>(&self, suffix: &P) -> Option<&[T]>
      where\n- P: SlicePattern<Item = T> + ?Sized,\n- T: PartialEq,

      Returns a subslice with the suffix removed.

      \n+
      1.51.0 \u00b7 source

      pub fn strip_suffix<P>(&self, suffix: &P) -> Option<&[T]>
      where\n+ P: SlicePattern<Item = T> + ?Sized,\n+ T: PartialEq,

      Returns a subslice with the suffix removed.

      \n

      If the slice ends with suffix, returns the subslice before the suffix, wrapped in Some.\n If suffix is empty, simply returns the original slice. If suffix is equal to the\n original slice, returns an empty slice.

      \n

      If the slice does not end with suffix, returns None.

      \n
      \u00a7Examples
      \n
      let v = &[10, 40, 30];\n assert_eq!(v.strip_suffix(&[30]), Some(&[10, 40][..]));\n assert_eq!(v.strip_suffix(&[40, 30]), Some(&[10][..]));\n assert_eq!(v.strip_suffix(&[10, 40, 30]), Some(&[][..]));\n assert_eq!(v.strip_suffix(&[50]), None);\n assert_eq!(v.strip_suffix(&[50, 30]), None);
      Run
      \n-
      source

      pub fn binary_search(&self, x: &T) -> Result<usize, usize>
      where\n- T: Ord,

      Binary searches this slice for a given element.\n+

      source

      pub fn binary_search(&self, x: &T) -> Result<usize, usize>
      where\n+ T: Ord,

      Binary searches this slice for a given element.\n If the slice is not sorted, the returned result is unspecified and\n meaningless.

      \n-

      If the value is found then Result::Ok is returned, containing the\n+

      If the value is found then Result::Ok is returned, containing the\n index of the matching element. If there are multiple matches, then any\n one of the matches could be returned. The index is chosen\n deterministically, but is subject to change in future versions of Rust.\n-If the value is not found then Result::Err is returned, containing\n+If the value is not found then Result::Err is returned, containing\n the index where a matching element could be inserted while maintaining\n sorted order.

      \n-

      See also binary_search_by, binary_search_by_key, and partition_point.

      \n+

      See also binary_search_by, binary_search_by_key, and partition_point.

      \n
      \u00a7Examples
      \n

      Looks up a series of four elements. The first is found, with a\n uniquely determined position; the second and third are not\n found; the fourth could match any position in [1, 4].

      \n \n
      let s = [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55];\n \n assert_eq!(s.binary_search(&13),  Ok(9));\n assert_eq!(s.binary_search(&4),   Err(7));\n assert_eq!(s.binary_search(&100), Err(13));\n let r = s.binary_search(&1);\n assert!(match r { Ok(1..=4) => true, _ => false, });
      Run
      \n

      If you want to find that whole range of matching items, rather than\n-an arbitrary matching one, that can be done using partition_point:

      \n+an arbitrary matching one, that can be done using partition_point:

      \n \n
      let s = [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55];\n \n let low = s.partition_point(|x| x < &1);\n assert_eq!(low, 1);\n let high = s.partition_point(|x| x <= &1);\n assert_eq!(high, 5);\n@@ -2782,38 +2782,38 @@\n assert!(s[high..].iter().all(|&x| x > 1));\n \n // For something not found, the \"range\" of equal items is empty\n assert_eq!(s.partition_point(|x| x < &11), 9);\n assert_eq!(s.partition_point(|x| x <= &11), 9);\n assert_eq!(s.binary_search(&11), Err(9));
      Run
      \n

      If you want to insert an item to a sorted vector, while maintaining\n-sort order, consider using partition_point:

      \n+sort order, consider using partition_point:

      \n \n
      let mut s = vec![0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55];\n let num = 42;\n let idx = s.partition_point(|&x| x < num);\n // The above is equivalent to `let idx = s.binary_search(&num).unwrap_or_else(|x| x);`\n s.insert(idx, num);\n assert_eq!(s, [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 42, 55]);
      Run
      \n-
      source

      pub fn binary_search_by<'a, F>(&'a self, f: F) -> Result<usize, usize>
      where\n- F: FnMut(&'a T) -> Ordering,

      Binary searches this slice with a comparator function.

      \n+
      source

      pub fn binary_search_by<'a, F>(&'a self, f: F) -> Result<usize, usize>
      where\n+ F: FnMut(&'a T) -> Ordering,

      Binary searches this slice with a comparator function.

      \n

      The comparator function should return an order code that indicates\n whether its argument is Less, Equal or Greater the desired\n target.\n If the slice is not sorted or if the comparator function does not\n implement an order consistent with the sort order of the underlying\n slice, the returned result is unspecified and meaningless.

      \n-

      If the value is found then Result::Ok is returned, containing the\n+

      If the value is found then Result::Ok is returned, containing the\n index of the matching element. If there are multiple matches, then any\n one of the matches could be returned. The index is chosen\n deterministically, but is subject to change in future versions of Rust.\n-If the value is not found then Result::Err is returned, containing\n+If the value is not found then Result::Err is returned, containing\n the index where a matching element could be inserted while maintaining\n sorted order.

      \n-

      See also binary_search, binary_search_by_key, and partition_point.

      \n+

      See also binary_search, binary_search_by_key, and partition_point.

      \n
      \u00a7Examples
      \n

      Looks up a series of four elements. The first is found, with a\n uniquely determined position; the second and third are not\n found; the fourth could match any position in [1, 4].

      \n \n
      let s = [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55];\n \n@@ -2822,33 +2822,33 @@\n let seek = 4;\n assert_eq!(s.binary_search_by(|probe| probe.cmp(&seek)), Err(7));\n let seek = 100;\n assert_eq!(s.binary_search_by(|probe| probe.cmp(&seek)), Err(13));\n let seek = 1;\n let r = s.binary_search_by(|probe| probe.cmp(&seek));\n assert!(match r { Ok(1..=4) => true, _ => false, });
      Run
      \n-
      1.10.0 \u00b7 source

      pub fn binary_search_by_key<'a, B, F>(\n+

      1.10.0 \u00b7 source

      pub fn binary_search_by_key<'a, B, F>(\n &'a self,\n- b: &B,\n+ b: &B,\n f: F\n-) -> Result<usize, usize>
      where\n- F: FnMut(&'a T) -> B,\n- B: Ord,

      Binary searches this slice with a key extraction function.

      \n+) -> Result<usize, usize>
      where\n+ F: FnMut(&'a T) -> B,\n+ B: Ord,

      Binary searches this slice with a key extraction function.

      \n

      Assumes that the slice is sorted by the key, for instance with\n-sort_by_key using the same key extraction function.\n+sort_by_key using the same key extraction function.\n If the slice is not sorted by the key, the returned result is\n unspecified and meaningless.

      \n-

      If the value is found then Result::Ok is returned, containing the\n+

      If the value is found then Result::Ok is returned, containing the\n index of the matching element. If there are multiple matches, then any\n one of the matches could be returned. The index is chosen\n deterministically, but is subject to change in future versions of Rust.\n-If the value is not found then Result::Err is returned, containing\n+If the value is not found then Result::Err is returned, containing\n the index where a matching element could be inserted while maintaining\n sorted order.

      \n-

      See also binary_search, binary_search_by, and partition_point.

      \n+

      See also binary_search, binary_search_by, and partition_point.

      \n
      \u00a7Examples
      \n

      Looks up a series of four elements in a slice of pairs sorted by\n their second elements. The first is found, with a uniquely\n determined position; the second and third are not found; the\n fourth could match any position in [1, 4].

      \n \n
      let s = [(0, 0), (2, 1), (4, 1), (5, 1), (3, 1),\n@@ -2856,16 +2856,16 @@\n          (1, 21), (2, 34), (4, 55)];\n \n assert_eq!(s.binary_search_by_key(&13, |&(a, b)| b),  Ok(9));\n assert_eq!(s.binary_search_by_key(&4, |&(a, b)| b),   Err(7));\n assert_eq!(s.binary_search_by_key(&100, |&(a, b)| b), Err(13));\n let r = s.binary_search_by_key(&1, |&(a, b)| b);\n assert!(match r { Ok(1..=4) => true, _ => false, });
      Run
      \n-
      1.20.0 \u00b7 source

      pub fn sort_unstable(&mut self)
      where\n- T: Ord,

      Sorts the slice, but might not preserve the order of equal elements.

      \n+
      1.20.0 \u00b7 source

      pub fn sort_unstable(&mut self)
      where\n+ T: Ord,

      Sorts the slice, but might not preserve the order of equal elements.

      \n

      This sort is unstable (i.e., may reorder equal elements), in-place\n (i.e., does not allocate), and O(n * log(n)) worst-case.

      \n
      \u00a7Current implementation
      \n

      The current algorithm is based on pattern-defeating quicksort by Orson Peters,\n which combines the fast average case of randomized quicksort with the fast worst case of\n heapsort, while achieving linear time on slices with certain patterns. It uses some\n randomization to avoid degenerate cases, but with a fixed seed to always provide\n@@ -2873,27 +2873,27 @@\n

      It is typically faster than stable sorting, except in a few special cases, e.g., when the\n slice consists of several concatenated sorted sequences.

      \n
      \u00a7Examples
      \n
      let mut v = [-5, 4, 1, -3, 2];\n \n v.sort_unstable();\n assert!(v == [-5, -3, 1, 2, 4]);
      Run
      \n-
      1.20.0 \u00b7 source

      pub fn sort_unstable_by<F>(&mut self, compare: F)
      where\n- F: FnMut(&T, &T) -> Ordering,

      Sorts the slice with a comparator function, but might not preserve the order of equal\n+

      1.20.0 \u00b7 source

      pub fn sort_unstable_by<F>(&mut self, compare: F)
      where\n+ F: FnMut(&T, &T) -> Ordering,

      Sorts the slice with a comparator function, but might not preserve the order of equal\n elements.

      \n

      This sort is unstable (i.e., may reorder equal elements), in-place\n (i.e., does not allocate), and O(n * log(n)) worst-case.

      \n

      The comparator function must define a total ordering for the elements in the slice. If\n the ordering is not total, the order of the elements is unspecified. An order is a\n total order if it is (for all a, b and c):

      \n
        \n
      • total and antisymmetric: exactly one of a < b, a == b or a > b is true, and
      • \n
      • transitive, a < b and b < c implies a < c. The same must hold for both == and >.
      • \n
      \n-

      For example, while f64 doesn\u2019t implement Ord because NaN != NaN, we can use\n+

      For example, while f64 doesn\u2019t implement Ord because NaN != NaN, we can use\n partial_cmp as our sort function when we know the slice doesn\u2019t contain a NaN.

      \n \n
      let mut floats = [5f64, 4.0, 1.0, 3.0, 2.0];\n floats.sort_unstable_by(|a, b| a.partial_cmp(b).unwrap());\n assert_eq!(floats, [1.0, 2.0, 3.0, 4.0, 5.0]);
      Run
      \n
      \u00a7Current implementation
      \n

      The current algorithm is based on pattern-defeating quicksort by Orson Peters,\n@@ -2907,17 +2907,17 @@\n

      let mut v = [5, 4, 1, 3, 2];\n v.sort_unstable_by(|a, b| a.cmp(b));\n assert!(v == [1, 2, 3, 4, 5]);\n \n // reverse sorting\n v.sort_unstable_by(|a, b| b.cmp(a));\n assert!(v == [5, 4, 3, 2, 1]);
      Run
      \n-
      1.20.0 \u00b7 source

      pub fn sort_unstable_by_key<K, F>(&mut self, f: F)
      where\n- F: FnMut(&T) -> K,\n- K: Ord,

      Sorts the slice with a key extraction function, but might not preserve the order of equal\n+

      1.20.0 \u00b7 source

      pub fn sort_unstable_by_key<K, F>(&mut self, f: F)
      where\n+ F: FnMut(&T) -> K,\n+ K: Ord,

      Sorts the slice with a key extraction function, but might not preserve the order of equal\n elements.

      \n

      This sort is unstable (i.e., may reorder equal elements), in-place\n (i.e., does not allocate), and O(m * n * log(n)) worst-case, where the key function is\n O(m).

      \n
      \u00a7Current implementation
      \n

      The current algorithm is based on pattern-defeating quicksort by Orson Peters,\n which combines the fast average case of randomized quicksort with the fast worst case of\n@@ -2928,31 +2928,31 @@\n is likely to be slower than sort_by_cached_key in\n cases where the key function is expensive.

      \n
      \u00a7Examples
      \n
      let mut v = [-5i32, 4, 1, -3, 2];\n \n v.sort_unstable_by_key(|k| k.abs());\n assert!(v == [1, 2, -3, 4, -5]);
      Run
      \n-
      1.49.0 \u00b7 source

      pub fn select_nth_unstable(\n+

      1.49.0 \u00b7 source

      pub fn select_nth_unstable(\n &mut self,\n- index: usize\n-) -> (&mut [T], &mut T, &mut [T])
      where\n- T: Ord,

      Reorder the slice such that the element at index after the reordering is at its final sorted position.

      \n+ index: usize\n+) -> (&mut [T], &mut T, &mut [T])
      where\n+ T: Ord,

      Reorder the slice such that the element at index after the reordering is at its final sorted position.

      \n

      This reordering has the additional property that any value at position i < index will be\n less than or equal to any value at a position j > index. Additionally, this reordering is\n unstable (i.e. any number of equal elements may end up at position index), in-place\n (i.e. does not allocate), and runs in O(n) time.\n This function is also known as \u201ckth element\u201d in other libraries.

      \n

      It returns a triplet of the following from the reordered slice:\n the subslice prior to index, the element at index, and the subslice after index;\n accordingly, the values in those two subslices will respectively all be less-than-or-equal-to\n and greater-than-or-equal-to the value of the element at index.

      \n
      \u00a7Current implementation
      \n

      The current algorithm is an introselect implementation based on Pattern Defeating Quicksort, which is also\n-the basis for sort_unstable. The fallback algorithm is Median of Medians using Tukey\u2019s Ninther for\n+the basis for sort_unstable. The fallback algorithm is Median of Medians using Tukey\u2019s Ninther for\n pivot selection, which guarantees linear runtime for all inputs.

      \n
      \u00a7Panics
      \n

      Panics when index >= len(), meaning it always panics on empty slices.

      \n
      \u00a7Examples
      \n
      let mut v = [-5i32, 4, 2, -3, 1];\n \n // Find the items less than or equal to the median, the median, and greater than or equal to\n@@ -2965,34 +2965,34 @@\n \n // We are only guaranteed the slice will be one of the following, based on the way we sort\n // about the specified index.\n assert!(v == [-3, -5, 1, 2, 4] ||\n         v == [-5, -3, 1, 2, 4] ||\n         v == [-3, -5, 1, 4, 2] ||\n         v == [-5, -3, 1, 4, 2]);
      Run
      \n-
      1.49.0 \u00b7 source

      pub fn select_nth_unstable_by<F>(\n+

      1.49.0 \u00b7 source

      pub fn select_nth_unstable_by<F>(\n &mut self,\n- index: usize,\n+ index: usize,\n compare: F\n-) -> (&mut [T], &mut T, &mut [T])
      where\n- F: FnMut(&T, &T) -> Ordering,

      Reorder the slice with a comparator function such that the element at index after the reordering is at\n+) -> (&mut [T], &mut T, &mut [T])

      where\n+ F: FnMut(&T, &T) -> Ordering,

      Reorder the slice with a comparator function such that the element at index after the reordering is at\n its final sorted position.

      \n

      This reordering has the additional property that any value at position i < index will be\n less than or equal to any value at a position j > index using the comparator function.\n Additionally, this reordering is unstable (i.e. any number of equal elements may end up at\n position index), in-place (i.e. does not allocate), and runs in O(n) time.\n This function is also known as \u201ckth element\u201d in other libraries.

      \n

      It returns a triplet of the following from\n the slice reordered according to the provided comparator function: the subslice prior to\n index, the element at index, and the subslice after index; accordingly, the values in\n those two subslices will respectively all be less-than-or-equal-to and greater-than-or-equal-to\n the value of the element at index.

      \n
      \u00a7Current implementation
      \n

      The current algorithm is an introselect implementation based on Pattern Defeating Quicksort, which is also\n-the basis for sort_unstable. The fallback algorithm is Median of Medians using Tukey\u2019s Ninther for\n+the basis for sort_unstable. The fallback algorithm is Median of Medians using Tukey\u2019s Ninther for\n pivot selection, which guarantees linear runtime for all inputs.

      \n
      \u00a7Panics
      \n

      Panics when index >= len(), meaning it always panics on empty slices.

      \n
      \u00a7Examples
      \n
      let mut v = [-5i32, 4, 2, -3, 1];\n \n // Find the items less than or equal to the median, the median, and greater than or equal to\n@@ -3005,35 +3005,35 @@\n \n // We are only guaranteed the slice will be one of the following, based on the way we sort\n // about the specified index.\n assert!(v == [2, 4, 1, -5, -3] ||\n         v == [2, 4, 1, -3, -5] ||\n         v == [4, 2, 1, -5, -3] ||\n         v == [4, 2, 1, -3, -5]);
      Run
      \n-
      1.49.0 \u00b7 source

      pub fn select_nth_unstable_by_key<K, F>(\n+

      1.49.0 \u00b7 source

      pub fn select_nth_unstable_by_key<K, F>(\n &mut self,\n- index: usize,\n+ index: usize,\n f: F\n-) -> (&mut [T], &mut T, &mut [T])
      where\n- F: FnMut(&T) -> K,\n- K: Ord,

      Reorder the slice with a key extraction function such that the element at index after the reordering is\n+) -> (&mut [T], &mut T, &mut [T])

      where\n+ F: FnMut(&T) -> K,\n+ K: Ord,

      Reorder the slice with a key extraction function such that the element at index after the reordering is\n at its final sorted position.

      \n

      This reordering has the additional property that any value at position i < index will be\n less than or equal to any value at a position j > index using the key extraction function.\n Additionally, this reordering is unstable (i.e. any number of equal elements may end up at\n position index), in-place (i.e. does not allocate), and runs in O(n) time.\n This function is also known as \u201ckth element\u201d in other libraries.

      \n

      It returns a triplet of the following from\n the slice reordered according to the provided key extraction function: the subslice prior to\n index, the element at index, and the subslice after index; accordingly, the values in\n those two subslices will respectively all be less-than-or-equal-to and greater-than-or-equal-to\n the value of the element at index.

      \n
      \u00a7Current implementation
      \n

      The current algorithm is an introselect implementation based on Pattern Defeating Quicksort, which is also\n-the basis for sort_unstable. The fallback algorithm is Median of Medians using Tukey\u2019s Ninther for\n+the basis for sort_unstable. The fallback algorithm is Median of Medians using Tukey\u2019s Ninther for\n pivot selection, which guarantees linear runtime for all inputs.

      \n
      \u00a7Panics
      \n

      Panics when index >= len(), meaning it always panics on empty slices.

      \n
      \u00a7Examples
      \n
      let mut v = [-5i32, 4, 1, -3, 2];\n \n // Find the items less than or equal to the median, the median, and greater than or equal to\n@@ -3046,31 +3046,31 @@\n \n // We are only guaranteed the slice will be one of the following, based on the way we sort\n // about the specified index.\n assert!(v == [1, 2, -3, 4, -5] ||\n         v == [1, 2, -3, -5, 4] ||\n         v == [2, 1, -3, 4, -5] ||\n         v == [2, 1, -3, -5, 4]);
      Run
      \n-
      source

      pub fn partition_dedup(&mut self) -> (&mut [T], &mut [T])
      where\n- T: PartialEq,

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_partition_dedup #54279)

      Moves all consecutive repeated elements to the end of the slice according to the\n-PartialEq trait implementation.

      \n+
      source

      pub fn partition_dedup(&mut self) -> (&mut [T], &mut [T])
      where\n+ T: PartialEq,

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_partition_dedup #54279)

      Moves all consecutive repeated elements to the end of the slice according to the\n+PartialEq trait implementation.

      \n

      Returns two slices. The first contains no consecutive repeated elements.\n The second contains all the duplicates in no specified order.

      \n

      If the slice is sorted, the first returned slice contains no duplicates.

      \n
      \u00a7Examples
      \n
      #![feature(slice_partition_dedup)]\n \n let mut slice = [1, 2, 2, 3, 3, 2, 1, 1];\n \n let (dedup, duplicates) = slice.partition_dedup();\n \n assert_eq!(dedup, [1, 2, 3, 2, 1]);\n assert_eq!(duplicates, [2, 3, 1]);
      Run
      \n-
      source

      pub fn partition_dedup_by<F>(&mut self, same_bucket: F) -> (&mut [T], &mut [T])
      where\n- F: FnMut(&mut T, &mut T) -> bool,

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_partition_dedup #54279)

      Moves all but the first of consecutive elements to the end of the slice satisfying\n+

      source

      pub fn partition_dedup_by<F>(&mut self, same_bucket: F) -> (&mut [T], &mut [T])
      where\n+ F: FnMut(&mut T, &mut T) -> bool,

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_partition_dedup #54279)

      Moves all but the first of consecutive elements to the end of the slice satisfying\n a given equality relation.

      \n

      Returns two slices. The first contains no consecutive repeated elements.\n The second contains all the duplicates in no specified order.

      \n

      The same_bucket function is passed references to two elements from the slice and\n must determine if the elements compare equal. The elements are passed in opposite order\n from their order in the slice, so if same_bucket(a, b) returns true, a is moved\n at the end of the slice.

      \n@@ -3080,31 +3080,31 @@\n \n let mut slice = [\"foo\", \"Foo\", \"BAZ\", \"Bar\", \"bar\", \"baz\", \"BAZ\"];\n \n let (dedup, duplicates) = slice.partition_dedup_by(|a, b| a.eq_ignore_ascii_case(b));\n \n assert_eq!(dedup, [\"foo\", \"BAZ\", \"Bar\", \"baz\"]);\n assert_eq!(duplicates, [\"bar\", \"Foo\", \"BAZ\"]);
      Run
      \n-
      source

      pub fn partition_dedup_by_key<K, F>(&mut self, key: F) -> (&mut [T], &mut [T])
      where\n- F: FnMut(&mut T) -> K,\n- K: PartialEq,

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_partition_dedup #54279)

      Moves all but the first of consecutive elements to the end of the slice that resolve\n+

      source

      pub fn partition_dedup_by_key<K, F>(&mut self, key: F) -> (&mut [T], &mut [T])
      where\n+ F: FnMut(&mut T) -> K,\n+ K: PartialEq,

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_partition_dedup #54279)

      Moves all but the first of consecutive elements to the end of the slice that resolve\n to the same key.

      \n

      Returns two slices. The first contains no consecutive repeated elements.\n The second contains all the duplicates in no specified order.

      \n

      If the slice is sorted, the first returned slice contains no duplicates.

      \n
      \u00a7Examples
      \n
      #![feature(slice_partition_dedup)]\n \n let mut slice = [10, 20, 21, 30, 30, 20, 11, 13];\n \n let (dedup, duplicates) = slice.partition_dedup_by_key(|i| *i / 10);\n \n assert_eq!(dedup, [10, 20, 30, 20, 11]);\n assert_eq!(duplicates, [21, 30, 13]);
      Run
      \n-
      1.26.0 \u00b7 source

      pub fn rotate_left(&mut self, mid: usize)

      Rotates the slice in-place such that the first mid elements of the\n+

      1.26.0 \u00b7 source

      pub fn rotate_left(&mut self, mid: usize)

      Rotates the slice in-place such that the first mid elements of the\n slice move to the end while the last self.len() - mid elements move to\n the front. After calling rotate_left, the element previously at index\n mid will become the first element in the slice.

      \n
      \u00a7Panics
      \n

      This function will panic if mid is greater than the length of the\n slice. Note that mid == self.len() does not panic and is a no-op\n rotation.

      \n@@ -3115,15 +3115,15 @@\n a.rotate_left(2);\n assert_eq!(a, ['c', 'd', 'e', 'f', 'a', 'b']);
      Run
      \n

      Rotating a subslice:

      \n \n
      let mut a = ['a', 'b', 'c', 'd', 'e', 'f'];\n a[1..5].rotate_left(1);\n assert_eq!(a, ['a', 'c', 'd', 'e', 'b', 'f']);
      Run
      \n-
      1.26.0 \u00b7 source

      pub fn rotate_right(&mut self, k: usize)

      Rotates the slice in-place such that the first self.len() - k\n+

      1.26.0 \u00b7 source

      pub fn rotate_right(&mut self, k: usize)

      Rotates the slice in-place such that the first self.len() - k\n elements of the slice move to the end while the last k elements move\n to the front. After calling rotate_right, the element previously at\n index self.len() - k will become the first element in the slice.

      \n
      \u00a7Panics
      \n

      This function will panic if k is greater than the length of the\n slice. Note that k == self.len() does not panic and is a no-op\n rotation.

      \n@@ -3134,32 +3134,32 @@\n a.rotate_right(2);\n assert_eq!(a, ['e', 'f', 'a', 'b', 'c', 'd']);Run
      \n

      Rotating a subslice:

      \n \n
      let mut a = ['a', 'b', 'c', 'd', 'e', 'f'];\n a[1..5].rotate_right(1);\n assert_eq!(a, ['a', 'e', 'b', 'c', 'd', 'f']);
      Run
      \n-
      1.50.0 \u00b7 source

      pub fn fill(&mut self, value: T)
      where\n- T: Clone,

      Fills self with elements by cloning value.

      \n+
      1.50.0 \u00b7 source

      pub fn fill(&mut self, value: T)
      where\n+ T: Clone,

      Fills self with elements by cloning value.

      \n
      \u00a7Examples
      \n
      let mut buf = vec![0; 10];\n buf.fill(1);\n assert_eq!(buf, vec![1; 10]);
      Run
      \n-
      1.51.0 \u00b7 source

      pub fn fill_with<F>(&mut self, f: F)
      where\n- F: FnMut() -> T,

      Fills self with elements returned by calling a closure repeatedly.

      \n+
      1.51.0 \u00b7 source

      pub fn fill_with<F>(&mut self, f: F)
      where\n+ F: FnMut() -> T,

      Fills self with elements returned by calling a closure repeatedly.

      \n

      This method uses a closure to create new values. If you\u2019d rather\n-Clone a given value, use fill. If you want to use the Default\n-trait to generate values, you can pass Default::default as the\n+Clone a given value, use fill. If you want to use the Default\n+trait to generate values, you can pass Default::default as the\n argument.

      \n
      \u00a7Examples
      \n
      let mut buf = vec![1; 10];\n buf.fill_with(Default::default);\n assert_eq!(buf, vec![0; 10]);
      Run
      \n-
      1.7.0 \u00b7 source

      pub fn clone_from_slice(&mut self, src: &[T])
      where\n- T: Clone,

      Copies the elements from src into self.

      \n+
      1.7.0 \u00b7 source

      pub fn clone_from_slice(&mut self, src: &[T])
      where\n+ T: Clone,

      Copies the elements from src into self.

      \n

      The length of src must be the same as self.

      \n
      \u00a7Panics
      \n

      This function will panic if the two slices have different lengths.

      \n
      \u00a7Examples
      \n

      Cloning two elements from a slice into another:

      \n \n
      let src = [1, 2, 3, 4];\n@@ -3176,29 +3176,29 @@\n immutable references to a particular piece of data in a particular\n scope. Because of this, attempting to use clone_from_slice on a\n single slice will result in a compile failure:

      \n \n
      \u24d8
      let mut slice = [1, 2, 3, 4, 5];\n \n slice[..2].clone_from_slice(&slice[3..]); // compile fail!
      Run
      \n-

      To work around this, we can use split_at_mut to create two distinct\n+

      To work around this, we can use split_at_mut to create two distinct\n sub-slices from a slice:

      \n \n
      let mut slice = [1, 2, 3, 4, 5];\n \n {\n     let (left, right) = slice.split_at_mut(2);\n     left.clone_from_slice(&right[1..]);\n }\n \n assert_eq!(slice, [4, 5, 3, 4, 5]);
      Run
      \n-
      1.9.0 \u00b7 source

      pub fn copy_from_slice(&mut self, src: &[T])
      where\n- T: Copy,

      Copies all elements from src into self, using a memcpy.

      \n+
      1.9.0 \u00b7 source

      pub fn copy_from_slice(&mut self, src: &[T])
      where\n+ T: Copy,

      Copies all elements from src into self, using a memcpy.

      \n

      The length of src must be the same as self.

      \n-

      If T does not implement Copy, use clone_from_slice.

      \n+

      If T does not implement Copy, use clone_from_slice.

      \n
      \u00a7Panics
      \n

      This function will panic if the two slices have different lengths.

      \n
      \u00a7Examples
      \n

      Copying two elements from a slice into another:

      \n \n
      let src = [1, 2, 3, 4];\n let mut dst = [0, 0];\n@@ -3214,28 +3214,28 @@\n immutable references to a particular piece of data in a particular\n scope. Because of this, attempting to use copy_from_slice on a\n single slice will result in a compile failure:

      \n \n
      \u24d8
      let mut slice = [1, 2, 3, 4, 5];\n \n slice[..2].copy_from_slice(&slice[3..]); // compile fail!
      Run
      \n-

      To work around this, we can use split_at_mut to create two distinct\n+

      To work around this, we can use split_at_mut to create two distinct\n sub-slices from a slice:

      \n \n
      let mut slice = [1, 2, 3, 4, 5];\n \n {\n     let (left, right) = slice.split_at_mut(2);\n     left.copy_from_slice(&right[1..]);\n }\n \n assert_eq!(slice, [4, 5, 3, 4, 5]);
      Run
      \n-
      1.37.0 \u00b7 source

      pub fn copy_within<R>(&mut self, src: R, dest: usize)
      where\n- R: RangeBounds<usize>,\n- T: Copy,

      Copies elements from one part of the slice to another part of itself,\n+

      1.37.0 \u00b7 source

      pub fn copy_within<R>(&mut self, src: R, dest: usize)
      where\n+ R: RangeBounds<usize>,\n+ T: Copy,

      Copies elements from one part of the slice to another part of itself,\n using a memmove.

      \n

      src is the range within self to copy from. dest is the starting\n index of the range within self to copy to, which will have the same\n length as src. The two ranges may overlap. The ends of the two ranges\n must be less than or equal to self.len().

      \n
      \u00a7Panics
      \n

      This function will panic if either range exceeds the end of the slice,\n@@ -3244,15 +3244,15 @@\n

      Copying four bytes within a slice:

      \n \n
      let mut bytes = *b\"Hello, World!\";\n \n bytes.copy_within(1..5, 8);\n \n assert_eq!(&bytes, b\"Hello, Wello!\");
      Run
      \n-
      1.27.0 \u00b7 source

      pub fn swap_with_slice(&mut self, other: &mut [T])

      Swaps all elements in self with those in other.

      \n+
      1.27.0 \u00b7 source

      pub fn swap_with_slice(&mut self, other: &mut [T])

      Swaps all elements in self with those in other.

      \n

      The length of other must be the same as self.

      \n
      \u00a7Panics
      \n

      This function will panic if the two slices have different lengths.

      \n
      \u00a7Example
      \n

      Swapping two elements across slices:

      \n \n
      let mut slice1 = [0, 0];\n@@ -3265,26 +3265,26 @@\n 

      Rust enforces that there can only be one mutable reference to a\n particular piece of data in a particular scope. Because of this,\n attempting to use swap_with_slice on a single slice will result in\n a compile failure:

      \n \n
      \u24d8
      let mut slice = [1, 2, 3, 4, 5];\n slice[..2].swap_with_slice(&mut slice[3..]); // compile fail!
      Run
      \n-

      To work around this, we can use split_at_mut to create two distinct\n+

      To work around this, we can use split_at_mut to create two distinct\n mutable sub-slices from a slice:

      \n \n
      let mut slice = [1, 2, 3, 4, 5];\n \n {\n     let (left, right) = slice.split_at_mut(2);\n     left.swap_with_slice(&mut right[1..]);\n }\n \n assert_eq!(slice, [4, 5, 3, 1, 2]);
      Run
      \n-
      1.30.0 \u00b7 source

      pub unsafe fn align_to<U>(&self) -> (&[T], &[U], &[T])

      Transmute the slice to a slice of another type, ensuring alignment of the types is\n+

      1.30.0 \u00b7 source

      pub unsafe fn align_to<U>(&self) -> (&[T], &[U], &[T])

      Transmute the slice to a slice of another type, ensuring alignment of the types is\n maintained.

      \n

      This method splits the slice into three distinct slices: prefix, correctly aligned middle\n slice of a new type, and the suffix slice. The middle part will be as big as possible under\n the given alignment constraint and element size.

      \n

      This method has no purpose when either input element T or output element U are\n zero-sized and will return the original slice without splitting anything.

      \n
      \u00a7Safety
      \n@@ -3296,15 +3296,15 @@\n
      unsafe {\n     let bytes: [u8; 7] = [1, 2, 3, 4, 5, 6, 7];\n     let (prefix, shorts, suffix) = bytes.align_to::<u16>();\n     // less_efficient_algorithm_for_bytes(prefix);\n     // more_efficient_algorithm_for_aligned_shorts(shorts);\n     // less_efficient_algorithm_for_bytes(suffix);\n }
      Run
      \n-
      1.30.0 \u00b7 source

      pub unsafe fn align_to_mut<U>(&mut self) -> (&mut [T], &mut [U], &mut [T])

      Transmute the mutable slice to a mutable slice of another type, ensuring alignment of the\n+

      1.30.0 \u00b7 source

      pub unsafe fn align_to_mut<U>(&mut self) -> (&mut [T], &mut [U], &mut [T])

      Transmute the mutable slice to a mutable slice of another type, ensuring alignment of the\n types is maintained.

      \n

      This method splits the slice into three distinct slices: prefix, correctly aligned middle\n slice of a new type, and the suffix slice. The middle part will be as big as possible under\n the given alignment constraint and element size.

      \n

      This method has no purpose when either input element T or output element U are\n zero-sized and will return the original slice without splitting anything.

      \n
      \u00a7Safety
      \n@@ -3316,19 +3316,19 @@\n
      unsafe {\n     let mut bytes: [u8; 7] = [1, 2, 3, 4, 5, 6, 7];\n     let (prefix, shorts, suffix) = bytes.align_to_mut::<u16>();\n     // less_efficient_algorithm_for_bytes(prefix);\n     // more_efficient_algorithm_for_aligned_shorts(shorts);\n     // less_efficient_algorithm_for_bytes(suffix);\n }
      Run
      \n-
      source

      pub fn as_simd<const LANES: usize>(&self) -> (&[T], &[Simd<T, LANES>], &[T])
      where\n- Simd<T, LANES>: AsRef<[T; LANES]>,\n- T: SimdElement,\n- LaneCount<LANES>: SupportedLaneCount,

      \ud83d\udd2cThis is a nightly-only experimental API. (portable_simd #86656)

      Split a slice into a prefix, a middle of aligned SIMD types, and a suffix.

      \n-

      This is a safe wrapper around slice::align_to, so has the same weak\n+

      source

      pub fn as_simd<const LANES: usize>(&self) -> (&[T], &[Simd<T, LANES>], &[T])
      where\n+ Simd<T, LANES>: AsRef<[T; LANES]>,\n+ T: SimdElement,\n+ LaneCount<LANES>: SupportedLaneCount,

      \ud83d\udd2cThis is a nightly-only experimental API. (portable_simd #86656)

      Split a slice into a prefix, a middle of aligned SIMD types, and a suffix.

      \n+

      This is a safe wrapper around slice::align_to, so has the same weak\n postconditions as that method. You\u2019re only assured that\n self.len() == prefix.len() + middle.len() * LANES + suffix.len().

      \n

      Notably, all of the following are possible:

      \n
        \n
      • prefix.len() >= LANES.
      • \n
      • middle.is_empty() despite self.len() >= 3 * LANES.
      • \n
      • suffix.len() >= LANES.
      • \n@@ -3366,95 +3366,95 @@\n ]);\n let sums = middle.iter().copied().fold(sums, f32x4::add);\n sums.reduce_sum()\n }\n \n let numbers: Vec<f32> = (1..101).map(|x| x as _).collect();\n assert_eq!(basic_simd_sum(&numbers[1..99]), 4949.0);
        Run
      \n-
      source

      pub fn as_simd_mut<const LANES: usize>(\n+

      source

      pub fn as_simd_mut<const LANES: usize>(\n &mut self\n-) -> (&mut [T], &mut [Simd<T, LANES>], &mut [T])
      where\n- Simd<T, LANES>: AsMut<[T; LANES]>,\n- T: SimdElement,\n- LaneCount<LANES>: SupportedLaneCount,

      \ud83d\udd2cThis is a nightly-only experimental API. (portable_simd #86656)

      Split a mutable slice into a mutable prefix, a middle of aligned SIMD types,\n+) -> (&mut [T], &mut [Simd<T, LANES>], &mut [T])

      where\n+ Simd<T, LANES>: AsMut<[T; LANES]>,\n+ T: SimdElement,\n+ LaneCount<LANES>: SupportedLaneCount,
      \ud83d\udd2cThis is a nightly-only experimental API. (portable_simd #86656)

      Split a mutable slice into a mutable prefix, a middle of aligned SIMD types,\n and a mutable suffix.

      \n-

      This is a safe wrapper around slice::align_to_mut, so has the same weak\n+

      This is a safe wrapper around slice::align_to_mut, so has the same weak\n postconditions as that method. You\u2019re only assured that\n self.len() == prefix.len() + middle.len() * LANES + suffix.len().

      \n

      Notably, all of the following are possible:

      \n
        \n
      • prefix.len() >= LANES.
      • \n
      • middle.is_empty() despite self.len() >= 3 * LANES.
      • \n
      • suffix.len() >= LANES.
      • \n
      \n

      That said, this is a safe method, so if you\u2019re only writing safe code,\n then this can at most cause incorrect logic, not unsoundness.

      \n-

      This is the mutable version of slice::as_simd; see that for examples.

      \n+

      This is the mutable version of slice::as_simd; see that for examples.

      \n
      \u00a7Panics
      \n

      This will panic if the size of the SIMD type is different from\n LANES times that of the scalar.

      \n

      At the time of writing, the trait restrictions on Simd<T, LANES> keeps\n that from ever happening, as only power-of-two numbers of lanes are\n supported. It\u2019s possible that, in the future, those restrictions might\n be lifted in a way that would make it possible to see panics from this\n method for something like LANES == 3.

      \n-
      source

      pub fn is_sorted(&self) -> bool
      where\n- T: PartialOrd,

      \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)

      Checks if the elements of this slice are sorted.

      \n+
      source

      pub fn is_sorted(&self) -> bool
      where\n+ T: PartialOrd,

      \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)

      Checks if the elements of this slice are sorted.

      \n

      That is, for each element a and its following element b, a <= b must hold. If the\n slice yields exactly zero or one element, true is returned.

      \n

      Note that if Self::Item is only PartialOrd, but not Ord, the above definition\n implies that this function returns false if any two consecutive items are not\n comparable.

      \n
      \u00a7Examples
      \n
      #![feature(is_sorted)]\n let empty: [i32; 0] = [];\n \n assert!([1, 2, 2, 9].is_sorted());\n assert!(![1, 3, 2, 4].is_sorted());\n assert!([0].is_sorted());\n assert!(empty.is_sorted());\n assert!(![0.0, 1.0, f32::NAN].is_sorted());
      Run
      \n-
      source

      pub fn is_sorted_by<'a, F>(&'a self, compare: F) -> bool
      where\n- F: FnMut(&'a T, &'a T) -> bool,

      \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)

      Checks if the elements of this slice are sorted using the given comparator function.

      \n+
      source

      pub fn is_sorted_by<'a, F>(&'a self, compare: F) -> bool
      where\n+ F: FnMut(&'a T, &'a T) -> bool,

      \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)

      Checks if the elements of this slice are sorted using the given comparator function.

      \n

      Instead of using PartialOrd::partial_cmp, this function uses the given compare\n function to determine whether two elements are to be considered in sorted order.

      \n
      \u00a7Examples
      \n
      #![feature(is_sorted)]\n \n assert!([1, 2, 2, 9].is_sorted_by(|a, b| a <= b));\n assert!(![1, 2, 2, 9].is_sorted_by(|a, b| a < b));\n \n assert!([0].is_sorted_by(|a, b| true));\n assert!([0].is_sorted_by(|a, b| false));\n \n let empty: [i32; 0] = [];\n assert!(empty.is_sorted_by(|a, b| false));\n assert!(empty.is_sorted_by(|a, b| true));
      Run
      \n-
      source

      pub fn is_sorted_by_key<'a, F, K>(&'a self, f: F) -> bool
      where\n- F: FnMut(&'a T) -> K,\n- K: PartialOrd,

      \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)

      Checks if the elements of this slice are sorted using the given key extraction function.

      \n+
      source

      pub fn is_sorted_by_key<'a, F, K>(&'a self, f: F) -> bool
      where\n+ F: FnMut(&'a T) -> K,\n+ K: PartialOrd,

      \ud83d\udd2cThis is a nightly-only experimental API. (is_sorted #53485)

      Checks if the elements of this slice are sorted using the given key extraction function.

      \n

      Instead of comparing the slice\u2019s elements directly, this function compares the keys of the\n-elements, as determined by f. Apart from that, it\u2019s equivalent to is_sorted; see its\n+elements, as determined by f. Apart from that, it\u2019s equivalent to is_sorted; see its\n documentation for more information.

      \n
      \u00a7Examples
      \n
      #![feature(is_sorted)]\n \n assert!([\"c\", \"bb\", \"aaa\"].is_sorted_by_key(|s| s.len()));\n assert!(![-2i32, -1, 0, 3].is_sorted_by_key(|n| n.abs()));
      Run
      \n-
      1.52.0 \u00b7 source

      pub fn partition_point<P>(&self, pred: P) -> usize
      where\n- P: FnMut(&T) -> bool,

      Returns the index of the partition point according to the given predicate\n+

      1.52.0 \u00b7 source

      pub fn partition_point<P>(&self, pred: P) -> usize
      where\n+ P: FnMut(&T) -> bool,

      Returns the index of the partition point according to the given predicate\n (the index of the first element of the second partition).

      \n

      The slice is assumed to be partitioned according to the given predicate.\n This means that all elements for which the predicate returns true are at the start of the slice\n and all elements for which the predicate returns false are at the end.\n For example, [7, 15, 3, 5, 4, 12, 6] is partitioned under the predicate x % 2 != 0\n (all odd numbers are at the start, all even at the end).

      \n

      If this slice is not partitioned, the returned result is unspecified and meaningless,\n as this method performs a kind of binary search.

      \n-

      See also binary_search, binary_search_by, and binary_search_by_key.

      \n+

      See also binary_search, binary_search_by, and binary_search_by_key.

      \n
      \u00a7Examples
      \n
      let v = [1, 2, 3, 3, 5, 6, 7];\n let i = v.partition_point(|&x| x < 5);\n \n assert_eq!(i, 4);\n assert!(v[..i].iter().all(|&x| x < 5));\n assert!(v[i..].iter().all(|&x| !(x < 5)));
      Run
      \n@@ -3469,16 +3469,16 @@\n sort order:

      \n \n
      let mut s = vec![0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55];\n let num = 42;\n let idx = s.partition_point(|&x| x < num);\n s.insert(idx, num);\n assert_eq!(s, [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 42, 55]);
      Run
      \n-
      source

      pub fn take<'a, R>(self: &mut &'a [T], range: R) -> Option<&'a [T]>
      where\n- R: OneSidedRange<usize>,

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_take #62280)

      Removes the subslice corresponding to the given range\n+

      source

      pub fn take<'a, R>(self: &mut &'a [T], range: R) -> Option<&'a [T]>
      where\n+ R: OneSidedRange<usize>,

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_take #62280)

      Removes the subslice corresponding to the given range\n and returns a reference to it.

      \n

      Returns None and does not modify the slice if the given\n range is out of bounds.

      \n

      Note that this method only accepts one-sided ranges such as\n 2.. or ..6, but not 2..6.

      \n
      \u00a7Examples
      \n

      Taking the first three elements of a slice:

      \n@@ -3506,16 +3506,16 @@\n let mut slice: &[_] = &['a', 'b', 'c', 'd'];\n \n assert_eq!(None, slice.take(5..));\n assert_eq!(None, slice.take(..5));\n assert_eq!(None, slice.take(..=4));\n let expected: &[char] = &['a', 'b', 'c', 'd'];\n assert_eq!(Some(expected), slice.take(..4));
      Run
      \n-
      source

      pub fn take_mut<'a, R>(self: &mut &'a mut [T], range: R) -> Option<&'a mut [T]>
      where\n- R: OneSidedRange<usize>,

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_take #62280)

      Removes the subslice corresponding to the given range\n+

      source

      pub fn take_mut<'a, R>(self: &mut &'a mut [T], range: R) -> Option<&'a mut [T]>
      where\n+ R: OneSidedRange<usize>,

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_take #62280)

      Removes the subslice corresponding to the given range\n and returns a mutable reference to it.

      \n

      Returns None and does not modify the slice if the given\n range is out of bounds.

      \n

      Note that this method only accepts one-sided ranges such as\n 2.. or ..6, but not 2..6.

      \n
      \u00a7Examples
      \n

      Taking the first three elements of a slice:

      \n@@ -3543,179 +3543,179 @@\n let mut slice: &mut [_] = &mut ['a', 'b', 'c', 'd'];\n \n assert_eq!(None, slice.take_mut(5..));\n assert_eq!(None, slice.take_mut(..5));\n assert_eq!(None, slice.take_mut(..=4));\n let expected: &mut [_] = &mut ['a', 'b', 'c', 'd'];\n assert_eq!(Some(expected), slice.take_mut(..4));Run
      \n-
      source

      pub fn take_first<'a>(self: &mut &'a [T]) -> Option<&'a T>

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_take #62280)

      Removes the first element of the slice and returns a reference\n+

      source

      pub fn take_first<'a>(self: &mut &'a [T]) -> Option<&'a T>

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_take #62280)

      Removes the first element of the slice and returns a reference\n to it.

      \n

      Returns None if the slice is empty.

      \n
      \u00a7Examples
      \n
      #![feature(slice_take)]\n \n let mut slice: &[_] = &['a', 'b', 'c'];\n let first = slice.take_first().unwrap();\n \n assert_eq!(slice, &['b', 'c']);\n assert_eq!(first, &'a');
      Run
      \n-
      source

      pub fn take_first_mut<'a>(self: &mut &'a mut [T]) -> Option<&'a mut T>

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_take #62280)

      Removes the first element of the slice and returns a mutable\n+

      source

      pub fn take_first_mut<'a>(self: &mut &'a mut [T]) -> Option<&'a mut T>

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_take #62280)

      Removes the first element of the slice and returns a mutable\n reference to it.

      \n

      Returns None if the slice is empty.

      \n
      \u00a7Examples
      \n
      #![feature(slice_take)]\n \n let mut slice: &mut [_] = &mut ['a', 'b', 'c'];\n let first = slice.take_first_mut().unwrap();\n *first = 'd';\n \n assert_eq!(slice, &['b', 'c']);\n assert_eq!(first, &'d');
      Run
      \n-
      source

      pub fn take_last<'a>(self: &mut &'a [T]) -> Option<&'a T>

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_take #62280)

      Removes the last element of the slice and returns a reference\n+

      source

      pub fn take_last<'a>(self: &mut &'a [T]) -> Option<&'a T>

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_take #62280)

      Removes the last element of the slice and returns a reference\n to it.

      \n

      Returns None if the slice is empty.

      \n
      \u00a7Examples
      \n
      #![feature(slice_take)]\n \n let mut slice: &[_] = &['a', 'b', 'c'];\n let last = slice.take_last().unwrap();\n \n assert_eq!(slice, &['a', 'b']);\n assert_eq!(last, &'c');
      Run
      \n-
      source

      pub fn take_last_mut<'a>(self: &mut &'a mut [T]) -> Option<&'a mut T>

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_take #62280)

      Removes the last element of the slice and returns a mutable\n+

      source

      pub fn take_last_mut<'a>(self: &mut &'a mut [T]) -> Option<&'a mut T>

      \ud83d\udd2cThis is a nightly-only experimental API. (slice_take #62280)

      Removes the last element of the slice and returns a mutable\n reference to it.

      \n

      Returns None if the slice is empty.

      \n
      \u00a7Examples
      \n
      #![feature(slice_take)]\n \n let mut slice: &mut [_] = &mut ['a', 'b', 'c'];\n let last = slice.take_last_mut().unwrap();\n *last = 'd';\n \n assert_eq!(slice, &['a', 'b']);\n assert_eq!(last, &'d');
      Run
      \n-
      source

      pub unsafe fn get_many_unchecked_mut<const N: usize>(\n+

      source

      pub unsafe fn get_many_unchecked_mut<const N: usize>(\n &mut self,\n- indices: [usize; N]\n-) -> [&mut T; N]

      \ud83d\udd2cThis is a nightly-only experimental API. (get_many_mut #104642)

      Returns mutable references to many indices at once, without doing any checks.

      \n-

      For a safe alternative see get_many_mut.

      \n+ indices: [usize; N]\n+) -> [&mut T; N]
      \ud83d\udd2cThis is a nightly-only experimental API. (get_many_mut #104642)

      Returns mutable references to many indices at once, without doing any checks.

      \n+

      For a safe alternative see get_many_mut.

      \n
      \u00a7Safety
      \n

      Calling this method with overlapping or out-of-bounds indices is undefined behavior\n even if the resulting references are not used.

      \n
      \u00a7Examples
      \n
      #![feature(get_many_mut)]\n \n let x = &mut [1, 2, 4];\n \n unsafe {\n     let [a, b] = x.get_many_unchecked_mut([0, 2]);\n     *a *= 10;\n     *b *= 100;\n }\n assert_eq!(x, &[10, 2, 400]);
      Run
      \n-
      source

      pub fn get_many_mut<const N: usize>(\n+

      source

      pub fn get_many_mut<const N: usize>(\n &mut self,\n- indices: [usize; N]\n-) -> Result<[&mut T; N], GetManyMutError<N>>

      \ud83d\udd2cThis is a nightly-only experimental API. (get_many_mut #104642)

      Returns mutable references to many indices at once.

      \n+ indices: [usize; N]\n+) -> Result<[&mut T; N], GetManyMutError<N>>
      \ud83d\udd2cThis is a nightly-only experimental API. (get_many_mut #104642)

      Returns mutable references to many indices at once.

      \n

      Returns an error if any index is out-of-bounds, or if the same index was\n passed more than once.

      \n
      \u00a7Examples
      \n
      #![feature(get_many_mut)]\n \n let v = &mut [1, 2, 3];\n if let Ok([a, b]) = v.get_many_mut([0, 2]) {\n     *a = 413;\n     *b = 612;\n }\n assert_eq!(v, &[413, 2, 612]);
      Run
      \n-

      Trait Implementations\u00a7

      1.5.0 \u00b7 source\u00a7

      impl<T, A: Allocator> AsMut<[T]> for Vec<T, A>

      source\u00a7

      fn as_mut(&mut self) -> &mut [T]

      Converts this type into a mutable reference of the (usually inferred) input type.
      1.5.0 \u00b7 source\u00a7

      impl<T, A: Allocator> AsMut<Vec<T, A>> for Vec<T, A>

      source\u00a7

      fn as_mut(&mut self) -> &mut Vec<T, A>

      Converts this type into a mutable reference of the (usually inferred) input type.
      source\u00a7

      impl<T, A: Allocator> AsRef<[T]> for Vec<T, A>

      source\u00a7

      fn as_ref(&self) -> &[T]

      Converts this type into a shared reference of the (usually inferred) input type.
      source\u00a7

      impl<T, A: Allocator> AsRef<Vec<T, A>> for Vec<T, A>

      source\u00a7

      fn as_ref(&self) -> &Vec<T, A>

      Converts this type into a shared reference of the (usually inferred) input type.
      source\u00a7

      impl<T, A: Allocator> Borrow<[T]> for Vec<T, A>

      source\u00a7

      fn borrow(&self) -> &[T]

      Immutably borrows from an owned value. Read more
      source\u00a7

      impl<T, A: Allocator> BorrowMut<[T]> for Vec<T, A>

      source\u00a7

      fn borrow_mut(&mut self) -> &mut [T]

      Mutably borrows from an owned value. Read more
      source\u00a7

      impl<T: Clone, A: Allocator + Clone> Clone for Vec<T, A>

      source\u00a7

      fn clone(&self) -> Self

      Returns a copy of the value. Read more
      source\u00a7

      fn clone_from(&mut self, other: &Self)

      Performs copy-assignment from source. Read more
      source\u00a7

      impl<T: Debug, A: Allocator> Debug for Vec<T, A>

      source\u00a7

      fn fmt(&self, f: &mut Formatter<'_>) -> Result

      Formats the value using the given formatter. Read more
      source\u00a7

      impl<T> Default for Vec<T>

      source\u00a7

      fn default() -> Vec<T>

      Creates an empty Vec<T>.

      \n+

      Trait Implementations\u00a7

      1.5.0 \u00b7 source\u00a7

      impl<T, A: Allocator> AsMut<[T]> for Vec<T, A>

      source\u00a7

      fn as_mut(&mut self) -> &mut [T]

      Converts this type into a mutable reference of the (usually inferred) input type.
      1.5.0 \u00b7 source\u00a7

      impl<T, A: Allocator> AsMut<Vec<T, A>> for Vec<T, A>

      source\u00a7

      fn as_mut(&mut self) -> &mut Vec<T, A>

      Converts this type into a mutable reference of the (usually inferred) input type.
      source\u00a7

      impl<T, A: Allocator> AsRef<[T]> for Vec<T, A>

      source\u00a7

      fn as_ref(&self) -> &[T]

      Converts this type into a shared reference of the (usually inferred) input type.
      source\u00a7

      impl<T, A: Allocator> AsRef<Vec<T, A>> for Vec<T, A>

      source\u00a7

      fn as_ref(&self) -> &Vec<T, A>

      Converts this type into a shared reference of the (usually inferred) input type.
      source\u00a7

      impl<T, A: Allocator> Borrow<[T]> for Vec<T, A>

      source\u00a7

      fn borrow(&self) -> &[T]

      Immutably borrows from an owned value. Read more
      source\u00a7

      impl<T, A: Allocator> BorrowMut<[T]> for Vec<T, A>

      source\u00a7

      fn borrow_mut(&mut self) -> &mut [T]

      Mutably borrows from an owned value. Read more
      source\u00a7

      impl<T: Clone, A: Allocator + Clone> Clone for Vec<T, A>

      source\u00a7

      fn clone(&self) -> Self

      Returns a copy of the value. Read more
      source\u00a7

      fn clone_from(&mut self, other: &Self)

      Performs copy-assignment from source. Read more
      source\u00a7

      impl<T: Debug, A: Allocator> Debug for Vec<T, A>

      source\u00a7

      fn fmt(&self, f: &mut Formatter<'_>) -> Result

      Formats the value using the given formatter. Read more
      source\u00a7

      impl<T> Default for Vec<T>

      source\u00a7

      fn default() -> Vec<T>

      Creates an empty Vec<T>.

      \n

      The vector will not allocate until elements are pushed onto it.

      \n-
      source\u00a7

      impl<T, A: Allocator> Deref for Vec<T, A>

      \u00a7

      type Target = [T]

      The resulting type after dereferencing.
      source\u00a7

      fn deref(&self) -> &[T]

      Dereferences the value.
      source\u00a7

      impl<T, A: Allocator> DerefMut for Vec<T, A>

      source\u00a7

      fn deref_mut(&mut self) -> &mut [T]

      Mutably dereferences the value.
      source\u00a7

      impl<T, A: Allocator> Drop for Vec<T, A>

      source\u00a7

      fn drop(&mut self)

      Executes the destructor for this type. Read more
      1.2.0 \u00b7 source\u00a7

      impl<'a, T: Copy + 'a, A: Allocator> Extend<&'a T> for Vec<T, A>

      Extend implementation that copies elements out of references before pushing them onto the Vec.

      \n-

      This implementation is specialized for slice iterators, where it uses copy_from_slice to\n+

      source\u00a7

      impl<T, A: Allocator> Deref for Vec<T, A>

      \u00a7

      type Target = [T]

      The resulting type after dereferencing.
      source\u00a7

      fn deref(&self) -> &[T]

      Dereferences the value.
      source\u00a7

      impl<T, A: Allocator> DerefMut for Vec<T, A>

      source\u00a7

      fn deref_mut(&mut self) -> &mut [T]

      Mutably dereferences the value.
      source\u00a7

      impl<T, A: Allocator> Drop for Vec<T, A>

      source\u00a7

      fn drop(&mut self)

      Executes the destructor for this type. Read more
      1.2.0 \u00b7 source\u00a7

      impl<'a, T: Copy + 'a, A: Allocator> Extend<&'a T> for Vec<T, A>

      Extend implementation that copies elements out of references before pushing them onto the Vec.

      \n+

      This implementation is specialized for slice iterators, where it uses copy_from_slice to\n append the entire slice at once.

      \n-
      source\u00a7

      fn extend<I: IntoIterator<Item = &'a T>>(&mut self, iter: I)

      Extends a collection with the contents of an iterator. Read more
      source\u00a7

      fn extend_one(&mut self, item: &'a T)

      \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
      Extends a collection with exactly one element.
      source\u00a7

      fn extend_reserve(&mut self, additional: usize)

      \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
      Reserves capacity in a collection for the given number of additional elements. Read more
      source\u00a7

      impl<T, A: Allocator> Extend<T> for Vec<T, A>

      source\u00a7

      fn extend<I: IntoIterator<Item = T>>(&mut self, iter: I)

      Extends a collection with the contents of an iterator. Read more
      source\u00a7

      fn extend_one(&mut self, item: T)

      \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
      Extends a collection with exactly one element.
      source\u00a7

      fn extend_reserve(&mut self, additional: usize)

      \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
      Reserves capacity in a collection for the given number of additional elements. Read more
      source\u00a7

      impl<T: Clone> From<&[T]> for Vec<T>

      source\u00a7

      fn from(s: &[T]) -> Vec<T>

      Allocate a Vec<T> and fill it by cloning s\u2019s items.

      \n+
      source\u00a7

      fn extend<I: IntoIterator<Item = &'a T>>(&mut self, iter: I)

      Extends a collection with the contents of an iterator. Read more
      source\u00a7

      fn extend_one(&mut self, item: &'a T)

      \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
      Extends a collection with exactly one element.
      source\u00a7

      fn extend_reserve(&mut self, additional: usize)

      \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
      Reserves capacity in a collection for the given number of additional elements. Read more
      source\u00a7

      impl<T, A: Allocator> Extend<T> for Vec<T, A>

      source\u00a7

      fn extend<I: IntoIterator<Item = T>>(&mut self, iter: I)

      Extends a collection with the contents of an iterator. Read more
      source\u00a7

      fn extend_one(&mut self, item: T)

      \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
      Extends a collection with exactly one element.
      source\u00a7

      fn extend_reserve(&mut self, additional: usize)

      \ud83d\udd2cThis is a nightly-only experimental API. (extend_one #72631)
      Reserves capacity in a collection for the given number of additional elements. Read more
      source\u00a7

      impl<T: Clone> From<&[T]> for Vec<T>

      source\u00a7

      fn from(s: &[T]) -> Vec<T>

      Allocate a Vec<T> and fill it by cloning s\u2019s items.

      \n
      \u00a7Examples
      \n
      assert_eq!(Vec::from(&[1, 2, 3][..]), vec![1, 2, 3]);
      Run
      \n-
      1.74.0 \u00b7 source\u00a7

      impl<T: Clone, const N: usize> From<&[T; N]> for Vec<T>

      source\u00a7

      fn from(s: &[T; N]) -> Vec<T>

      Allocate a Vec<T> and fill it by cloning s\u2019s items.

      \n+
      1.74.0 \u00b7 source\u00a7

      impl<T: Clone, const N: usize> From<&[T; N]> for Vec<T>

      source\u00a7

      fn from(s: &[T; N]) -> Vec<T>

      Allocate a Vec<T> and fill it by cloning s\u2019s items.

      \n
      \u00a7Examples
      \n
      assert_eq!(Vec::from(&[1, 2, 3]), vec![1, 2, 3]);
      Run
      \n-
      1.28.0 \u00b7 source\u00a7

      impl<'a, T: Clone> From<&'a Vec<T>> for Cow<'a, [T]>

      source\u00a7

      fn from(v: &'a Vec<T>) -> Cow<'a, [T]>

      Creates a Borrowed variant of Cow\n+

      1.28.0 \u00b7 source\u00a7

      impl<'a, T: Clone> From<&'a Vec<T>> for Cow<'a, [T]>

      source\u00a7

      fn from(v: &'a Vec<T>) -> Cow<'a, [T]>

      Creates a Borrowed variant of Cow\n from a reference to Vec.

      \n

      This conversion does not allocate or clone the data.

      \n-
      1.19.0 \u00b7 source\u00a7

      impl<T: Clone> From<&mut [T]> for Vec<T>

      source\u00a7

      fn from(s: &mut [T]) -> Vec<T>

      Allocate a Vec<T> and fill it by cloning s\u2019s items.

      \n+
      1.19.0 \u00b7 source\u00a7

      impl<T: Clone> From<&mut [T]> for Vec<T>

      source\u00a7

      fn from(s: &mut [T]) -> Vec<T>

      Allocate a Vec<T> and fill it by cloning s\u2019s items.

      \n
      \u00a7Examples
      \n
      assert_eq!(Vec::from(&mut [1, 2, 3][..]), vec![1, 2, 3]);
      Run
      \n-
      1.74.0 \u00b7 source\u00a7

      impl<T: Clone, const N: usize> From<&mut [T; N]> for Vec<T>

      source\u00a7

      fn from(s: &mut [T; N]) -> Vec<T>

      Allocate a Vec<T> and fill it by cloning s\u2019s items.

      \n+
      1.74.0 \u00b7 source\u00a7

      impl<T: Clone, const N: usize> From<&mut [T; N]> for Vec<T>

      source\u00a7

      fn from(s: &mut [T; N]) -> Vec<T>

      Allocate a Vec<T> and fill it by cloning s\u2019s items.

      \n
      \u00a7Examples
      \n
      assert_eq!(Vec::from(&mut [1, 2, 3]), vec![1, 2, 3]);
      Run
      \n-
      source\u00a7

      impl From<&str> for Vec<u8>

      source\u00a7

      fn from(s: &str) -> Vec<u8>

      Allocate a Vec<u8> and fill it with a UTF-8 string.

      \n+
      source\u00a7

      impl From<&str> for Vec<u8>

      source\u00a7

      fn from(s: &str) -> Vec<u8>

      Allocate a Vec<u8> and fill it with a UTF-8 string.

      \n
      \u00a7Examples
      \n
      assert_eq!(Vec::from(\"123\"), vec![b'1', b'2', b'3']);
      Run
      \n-
      1.44.0 \u00b7 source\u00a7

      impl<T, const N: usize> From<[T; N]> for Vec<T>

      source\u00a7

      fn from(s: [T; N]) -> Vec<T>

      Allocate a Vec<T> and move s\u2019s items into it.

      \n+
      1.44.0 \u00b7 source\u00a7

      impl<T, const N: usize> From<[T; N]> for Vec<T>

      source\u00a7

      fn from(s: [T; N]) -> Vec<T>

      Allocate a Vec<T> and move s\u2019s items into it.

      \n
      \u00a7Examples
      \n
      assert_eq!(Vec::from([1, 2, 3]), vec![1, 2, 3]);
      Run
      \n-
      1.5.0 \u00b7 source\u00a7

      impl<T, A: Allocator> From<BinaryHeap<T, A>> for Vec<T, A>

      source\u00a7

      fn from(heap: BinaryHeap<T, A>) -> Vec<T, A>

      Converts a BinaryHeap<T> into a Vec<T>.

      \n+
      1.5.0 \u00b7 source\u00a7

      impl<T, A: Allocator> From<BinaryHeap<T, A>> for Vec<T, A>

      source\u00a7

      fn from(heap: BinaryHeap<T, A>) -> Vec<T, A>

      Converts a BinaryHeap<T> into a Vec<T>.

      \n

      This conversion requires no data movement or allocation, and has\n constant time complexity.

      \n-
      1.18.0 \u00b7 source\u00a7

      impl<T, A: Allocator> From<Box<[T], A>> for Vec<T, A>

      source\u00a7

      fn from(s: Box<[T], A>) -> Self

      Convert a boxed slice into a vector by transferring ownership of\n+

      1.18.0 \u00b7 source\u00a7

      impl<T, A: Allocator> From<Box<[T], A>> for Vec<T, A>

      source\u00a7

      fn from(s: Box<[T], A>) -> Self

      Convert a boxed slice into a vector by transferring ownership of\n the existing heap allocation.

      \n
      \u00a7Examples
      \n
      let b: Box<[i32]> = vec![1, 2, 3].into_boxed_slice();\n assert_eq!(Vec::from(b), vec![1, 2, 3]);
      Run
      \n-
      1.7.0 \u00b7 source\u00a7

      impl From<CString> for Vec<u8>

      source\u00a7

      fn from(s: CString) -> Vec<u8>

      Converts a CString into a Vec<u8>.

      \n+
      1.7.0 \u00b7 source\u00a7

      impl From<CString> for Vec<u8>

      source\u00a7

      fn from(s: CString) -> Vec<u8>

      Converts a CString into a Vec<u8>.

      \n

      The conversion consumes the CString, and removes the terminating NUL byte.

      \n-
      1.14.0 \u00b7 source\u00a7

      impl<'a, T> From<Cow<'a, [T]>> for Vec<T>
      where\n- [T]: ToOwned<Owned = Vec<T>>,

      source\u00a7

      fn from(s: Cow<'a, [T]>) -> Vec<T>

      Convert a clone-on-write slice into a vector.

      \n+
      1.14.0 \u00b7 source\u00a7

      impl<'a, T> From<Cow<'a, [T]>> for Vec<T>
      where\n+ [T]: ToOwned<Owned = Vec<T>>,

      source\u00a7

      fn from(s: Cow<'a, [T]>) -> Vec<T>

      Convert a clone-on-write slice into a vector.

      \n

      If s already owns a Vec<T>, it will be returned directly.\n If s is borrowing a slice, a new Vec<T> will be allocated and\n filled by cloning s\u2019s items into it.

      \n
      \u00a7Examples
      \n
      let o: Cow<'_, [i32]> = Cow::Owned(vec![1, 2, 3]);\n let b: Cow<'_, [i32]> = Cow::Borrowed(&[1, 2, 3]);\n assert_eq!(Vec::from(o), Vec::from(b));
      Run
      \n-
      1.14.0 \u00b7 source\u00a7

      impl From<String> for Vec<u8>

      source\u00a7

      fn from(string: String) -> Vec<u8>

      Converts the given String to a vector Vec that holds values of type u8.

      \n+
      1.14.0 \u00b7 source\u00a7

      impl From<String> for Vec<u8>

      source\u00a7

      fn from(string: String) -> Vec<u8>

      Converts the given String to a vector Vec that holds values of type u8.

      \n
      \u00a7Examples
      \n
      let s1 = String::from(\"hello world\");\n let v1 = Vec::from(s1);\n \n for b in v1 {\n     println!(\"{b}\");\n }
      Run
      \n-
      1.43.0 \u00b7 source\u00a7

      impl From<Vec<NonZero<u8>>> for CString

      source\u00a7

      fn from(v: Vec<NonZero<u8>>) -> CString

      Converts a Vec<NonZero<u8>> into a CString without\n+

      1.43.0 \u00b7 source\u00a7

      impl From<Vec<NonZero<u8>>> for CString

      source\u00a7

      fn from(v: Vec<NonZero<u8>>) -> CString

      Converts a Vec<NonZero<u8>> into a CString without\n copying nor checking for inner nul bytes.

      \n-
      1.8.0 \u00b7 source\u00a7

      impl<'a, T: Clone> From<Vec<T>> for Cow<'a, [T]>

      source\u00a7

      fn from(v: Vec<T>) -> Cow<'a, [T]>

      Creates an Owned variant of Cow\n+

      1.8.0 \u00b7 source\u00a7

      impl<'a, T: Clone> From<Vec<T>> for Cow<'a, [T]>

      source\u00a7

      fn from(v: Vec<T>) -> Cow<'a, [T]>

      Creates an Owned variant of Cow\n from an owned instance of Vec.

      \n

      This conversion does not allocate or clone the data.

      \n-
      1.21.0 \u00b7 source\u00a7

      impl<T, A: Allocator + Clone> From<Vec<T, A>> for Arc<[T], A>

      source\u00a7

      fn from(v: Vec<T, A>) -> Arc<[T], A>

      Allocate a reference-counted slice and move v\u2019s items into it.

      \n+
      1.21.0 \u00b7 source\u00a7

      impl<T, A: Allocator + Clone> From<Vec<T, A>> for Arc<[T], A>

      source\u00a7

      fn from(v: Vec<T, A>) -> Arc<[T], A>

      Allocate a reference-counted slice and move v\u2019s items into it.

      \n
      \u00a7Example
      \n
      let unique: Vec<i32> = vec![1, 2, 3];\n let shared: Arc<[i32]> = Arc::from(unique);\n assert_eq!(&[1, 2, 3], &shared[..]);
      Run
      \n-
      1.5.0 \u00b7 source\u00a7

      impl<T: Ord, A: Allocator> From<Vec<T, A>> for BinaryHeap<T, A>

      source\u00a7

      fn from(vec: Vec<T, A>) -> BinaryHeap<T, A>

      Converts a Vec<T> into a BinaryHeap<T>.

      \n+
      1.5.0 \u00b7 source\u00a7

      impl<T: Ord, A: Allocator> From<Vec<T, A>> for BinaryHeap<T, A>

      source\u00a7

      fn from(vec: Vec<T, A>) -> BinaryHeap<T, A>

      Converts a Vec<T> into a BinaryHeap<T>.

      \n

      This conversion happens in-place, and has O(n) time complexity.

      \n-
      1.20.0 \u00b7 source\u00a7

      impl<T, A: Allocator> From<Vec<T, A>> for Box<[T], A>

      source\u00a7

      fn from(v: Vec<T, A>) -> Self

      Convert a vector into a boxed slice.

      \n+
      1.20.0 \u00b7 source\u00a7

      impl<T, A: Allocator> From<Vec<T, A>> for Box<[T], A>

      source\u00a7

      fn from(v: Vec<T, A>) -> Self

      Convert a vector into a boxed slice.

      \n

      Before doing the conversion, this method discards excess capacity like Vec::shrink_to_fit.

      \n
      \u00a7Examples
      \n
      assert_eq!(Box::from(vec![1, 2, 3]), vec![1, 2, 3].into_boxed_slice());
      Run
      \n

      Any excess capacity is removed:

      \n \n
      let mut vec = Vec::with_capacity(10);\n vec.extend([1, 2, 3]);\n \n assert_eq!(Box::from(vec), vec![1, 2, 3].into_boxed_slice());
      Run
      \n-
      1.21.0 \u00b7 source\u00a7

      impl<T, A: Allocator> From<Vec<T, A>> for Rc<[T], A>

      source\u00a7

      fn from(v: Vec<T, A>) -> Rc<[T], A>

      Allocate a reference-counted slice and move v\u2019s items into it.

      \n+
      1.21.0 \u00b7 source\u00a7

      impl<T, A: Allocator> From<Vec<T, A>> for Rc<[T], A>

      source\u00a7

      fn from(v: Vec<T, A>) -> Rc<[T], A>

      Allocate a reference-counted slice and move v\u2019s items into it.

      \n
      \u00a7Example
      \n
      let unique: Vec<i32> = vec![1, 2, 3];\n let shared: Rc<[i32]> = Rc::from(unique);\n assert_eq!(&[1, 2, 3], &shared[..]);
      Run
      \n-
      1.10.0 \u00b7 source\u00a7

      impl<T, A: Allocator> From<Vec<T, A>> for VecDeque<T, A>

      source\u00a7

      fn from(other: Vec<T, A>) -> Self

      Turn a Vec<T> into a VecDeque<T>.

      \n+
      1.10.0 \u00b7 source\u00a7

      impl<T, A: Allocator> From<Vec<T, A>> for VecDeque<T, A>

      source\u00a7

      fn from(other: Vec<T, A>) -> Self

      Turn a Vec<T> into a VecDeque<T>.

      \n

      This conversion is guaranteed to run in O(1) time\n and to not re-allocate the Vec\u2019s buffer or allocate\n any additional memory.

      \n-
      1.10.0 \u00b7 source\u00a7

      impl<T, A: Allocator> From<VecDeque<T, A>> for Vec<T, A>

      source\u00a7

      fn from(other: VecDeque<T, A>) -> Self

      Turn a VecDeque<T> into a Vec<T>.

      \n+
      1.10.0 \u00b7 source\u00a7

      impl<T, A: Allocator> From<VecDeque<T, A>> for Vec<T, A>

      source\u00a7

      fn from(other: VecDeque<T, A>) -> Self

      Turn a VecDeque<T> into a Vec<T>.

      \n

      This never needs to re-allocate, but does need to do O(n) data movement if\n the circular buffer doesn\u2019t happen to be at the beginning of the allocation.

      \n
      \u00a7Examples
      \n
      use std::collections::VecDeque;\n \n // This one is *O*(1).\n let deque: VecDeque<_> = (1..5).collect();\n@@ -3728,24 +3728,24 @@\n let mut deque: VecDeque<_> = (1..5).collect();\n deque.push_front(9);\n deque.push_front(8);\n let ptr = deque.as_slices().1.as_ptr();\n let vec = Vec::from(deque);\n assert_eq!(vec, [8, 9, 1, 2, 3, 4]);\n assert_eq!(vec.as_ptr(), ptr);
      Run
      \n-
      source\u00a7

      impl<T> FromIterator<T> for Vec<T>

      Collects an iterator into a Vec, commonly called via Iterator::collect()

      \n+
      source\u00a7

      impl<T> FromIterator<T> for Vec<T>

      Collects an iterator into a Vec, commonly called via Iterator::collect()

      \n

      \u00a7Allocation behavior

      \n

      In general Vec does not guarantee any particular growth or allocation strategy.\n That also applies to this trait impl.

      \n

      Note: This section covers implementation details and is therefore exempt from\n stability guarantees.

      \n

      Vec may use any or none of the following strategies,\n depending on the supplied iterator:

      \n
        \n-
      • preallocate based on Iterator::size_hint()\n+
      • preallocate based on Iterator::size_hint()\n
          \n
        • and panic if the number of items is outside the provided lower/upper bounds
        • \n
        \n
      • \n
      • use an amortized growth strategy similar to pushing one item at a time
      • \n
      • perform the iteration in-place on the original allocation backing the iterator
      • \n
      \n@@ -3765,92 +3765,92 @@\n let big_temporary: Vec<u16> = (0..1024).collect();\n // discard most items\n let mut result: Vec<_> = big_temporary.into_iter().filter(|i| i % 100 == 0).collect();\n // without this a lot of unused capacity might be moved into the global\n result.shrink_to_fit();\n LONG_LIVED.lock().unwrap().push(result);\n }Run
      \n-
      source\u00a7

      fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Vec<T>

      Creates a value from an iterator. Read more
      source\u00a7

      impl<T: Hash, A: Allocator> Hash for Vec<T, A>

      The hash of a vector is the same as that of the corresponding slice,\n+

      source\u00a7

      fn from_iter<I: IntoIterator<Item = T>>(iter: I) -> Vec<T>

      Creates a value from an iterator. Read more
      source\u00a7

      impl<T: Hash, A: Allocator> Hash for Vec<T, A>

      The hash of a vector is the same as that of the corresponding slice,\n as required by the core::borrow::Borrow implementation.

      \n \n
      use std::hash::BuildHasher;\n \n let b = std::hash::RandomState::new();\n let v: Vec<u8> = vec![0xa8, 0x3c, 0x09];\n let s: &[u8] = &[0xa8, 0x3c, 0x09];\n assert_eq!(b.hash_one(v), b.hash_one(s));
      Run
      \n-
      source\u00a7

      fn hash<H: Hasher>(&self, state: &mut H)

      Feeds this value into the given Hasher. Read more
      1.3.0 \u00b7 source\u00a7

      fn hash_slice<H>(data: &[Self], state: &mut H)
      where\n- H: Hasher,\n- Self: Sized,

      Feeds a slice of this type into the given Hasher. Read more
      source\u00a7

      impl<T, I: SliceIndex<[T]>, A: Allocator> Index<I> for Vec<T, A>

      \u00a7

      type Output = <I as SliceIndex<[T]>>::Output

      The returned type after indexing.
      source\u00a7

      fn index(&self, index: I) -> &Self::Output

      Performs the indexing (container[index]) operation. Read more
      source\u00a7

      impl<T, I: SliceIndex<[T]>, A: Allocator> IndexMut<I> for Vec<T, A>

      source\u00a7

      fn index_mut(&mut self, index: I) -> &mut Self::Output

      Performs the mutable indexing (container[index]) operation. Read more
      source\u00a7

      impl<'a, T, A: Allocator> IntoIterator for &'a Vec<T, A>

      \u00a7

      type Item = &'a T

      The type of the elements being iterated over.
      \u00a7

      type IntoIter = Iter<'a, T>

      Which kind of iterator are we turning this into?
      source\u00a7

      fn into_iter(self) -> Self::IntoIter

      Creates an iterator from a value. Read more
      source\u00a7

      impl<'a, T, A: Allocator> IntoIterator for &'a mut Vec<T, A>

      \u00a7

      type Item = &'a mut T

      The type of the elements being iterated over.
      \u00a7

      type IntoIter = IterMut<'a, T>

      Which kind of iterator are we turning this into?
      source\u00a7

      fn into_iter(self) -> Self::IntoIter

      Creates an iterator from a value. Read more
      source\u00a7

      impl<T, A: Allocator> IntoIterator for Vec<T, A>

      source\u00a7

      fn into_iter(self) -> Self::IntoIter

      Creates a consuming iterator, that is, one that moves each value out of\n+

      source\u00a7

      fn hash<H: Hasher>(&self, state: &mut H)

      Feeds this value into the given Hasher. Read more
      1.3.0 \u00b7 source\u00a7

      fn hash_slice<H>(data: &[Self], state: &mut H)
      where\n+ H: Hasher,\n+ Self: Sized,

      Feeds a slice of this type into the given Hasher. Read more
      source\u00a7

      impl<T, I: SliceIndex<[T]>, A: Allocator> Index<I> for Vec<T, A>

      \u00a7

      type Output = <I as SliceIndex<[T]>>::Output

      The returned type after indexing.
      source\u00a7

      fn index(&self, index: I) -> &Self::Output

      Performs the indexing (container[index]) operation. Read more
      source\u00a7

      impl<T, I: SliceIndex<[T]>, A: Allocator> IndexMut<I> for Vec<T, A>

      source\u00a7

      fn index_mut(&mut self, index: I) -> &mut Self::Output

      Performs the mutable indexing (container[index]) operation. Read more
      source\u00a7

      impl<'a, T, A: Allocator> IntoIterator for &'a Vec<T, A>

      \u00a7

      type Item = &'a T

      The type of the elements being iterated over.
      \u00a7

      type IntoIter = Iter<'a, T>

      Which kind of iterator are we turning this into?
      source\u00a7

      fn into_iter(self) -> Self::IntoIter

      Creates an iterator from a value. Read more
      source\u00a7

      impl<'a, T, A: Allocator> IntoIterator for &'a mut Vec<T, A>

      \u00a7

      type Item = &'a mut T

      The type of the elements being iterated over.
      \u00a7

      type IntoIter = IterMut<'a, T>

      Which kind of iterator are we turning this into?
      source\u00a7

      fn into_iter(self) -> Self::IntoIter

      Creates an iterator from a value. Read more
      source\u00a7

      impl<T, A: Allocator> IntoIterator for Vec<T, A>

      source\u00a7

      fn into_iter(self) -> Self::IntoIter

      Creates a consuming iterator, that is, one that moves each value out of\n the vector (from start to end). The vector cannot be used after calling\n this.

      \n
      \u00a7Examples
      \n
      let v = vec![\"a\".to_string(), \"b\".to_string()];\n let mut v_iter = v.into_iter();\n \n let first_element: Option<String> = v_iter.next();\n \n assert_eq!(first_element, Some(\"a\".to_string()));\n assert_eq!(v_iter.next(), Some(\"b\".to_string()));\n assert_eq!(v_iter.next(), None);
      Run
      \n-
      \u00a7

      type Item = T

      The type of the elements being iterated over.
      \u00a7

      type IntoIter = IntoIter<T, A>

      Which kind of iterator are we turning this into?
      source\u00a7

      impl<T: Ord, A: Allocator> Ord for Vec<T, A>

      Implements ordering of vectors, lexicographically.

      \n-
      source\u00a7

      fn cmp(&self, other: &Self) -> Ordering

      This method returns an Ordering between self and other. Read more
      1.21.0 \u00b7 source\u00a7

      fn max(self, other: Self) -> Self
      where\n- Self: Sized,

      Compares and returns the maximum of two values. Read more
      1.21.0 \u00b7 source\u00a7

      fn min(self, other: Self) -> Self
      where\n- Self: Sized,

      Compares and returns the minimum of two values. Read more
      1.50.0 \u00b7 source\u00a7

      fn clamp(self, min: Self, max: Self) -> Self
      where\n- Self: Sized + PartialOrd,

      Restrict a value to a certain interval. Read more
      source\u00a7

      impl<T, U, A: Allocator> PartialEq<&[U]> for Vec<T, A>
      where\n- T: PartialEq<U>,

      source\u00a7

      fn eq(&self, other: &&[U]) -> bool

      This method tests for self and other values to be equal, and is used\n-by ==.
      source\u00a7

      fn ne(&self, other: &&[U]) -> bool

      This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
      source\u00a7

      impl<T, U, A: Allocator, const N: usize> PartialEq<&[U; N]> for Vec<T, A>
      where\n- T: PartialEq<U>,

      source\u00a7

      fn eq(&self, other: &&[U; N]) -> bool

      This method tests for self and other values to be equal, and is used\n-by ==.
      source\u00a7

      fn ne(&self, other: &&[U; N]) -> bool

      This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
      source\u00a7

      impl<T, U, A: Allocator> PartialEq<&mut [U]> for Vec<T, A>
      where\n- T: PartialEq<U>,

      source\u00a7

      fn eq(&self, other: &&mut [U]) -> bool

      This method tests for self and other values to be equal, and is used\n-by ==.
      source\u00a7

      fn ne(&self, other: &&mut [U]) -> bool

      This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
      1.48.0 \u00b7 source\u00a7

      impl<T, U, A: Allocator> PartialEq<[U]> for Vec<T, A>
      where\n- T: PartialEq<U>,

      source\u00a7

      fn eq(&self, other: &[U]) -> bool

      This method tests for self and other values to be equal, and is used\n-by ==.
      source\u00a7

      fn ne(&self, other: &[U]) -> bool

      This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
      source\u00a7

      impl<T, U, A: Allocator, const N: usize> PartialEq<[U; N]> for Vec<T, A>
      where\n- T: PartialEq<U>,

      source\u00a7

      fn eq(&self, other: &[U; N]) -> bool

      This method tests for self and other values to be equal, and is used\n-by ==.
      source\u00a7

      fn ne(&self, other: &[U; N]) -> bool

      This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
      1.46.0 \u00b7 source\u00a7

      impl<T, U, A: Allocator> PartialEq<Vec<U, A>> for &[T]
      where\n- T: PartialEq<U>,

      source\u00a7

      fn eq(&self, other: &Vec<U, A>) -> bool

      This method tests for self and other values to be equal, and is used\n-by ==.
      source\u00a7

      fn ne(&self, other: &Vec<U, A>) -> bool

      This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
      1.46.0 \u00b7 source\u00a7

      impl<T, U, A: Allocator> PartialEq<Vec<U, A>> for &mut [T]
      where\n- T: PartialEq<U>,

      source\u00a7

      fn eq(&self, other: &Vec<U, A>) -> bool

      This method tests for self and other values to be equal, and is used\n-by ==.
      source\u00a7

      fn ne(&self, other: &Vec<U, A>) -> bool

      This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
      1.48.0 \u00b7 source\u00a7

      impl<T, U, A: Allocator> PartialEq<Vec<U, A>> for [T]
      where\n- T: PartialEq<U>,

      source\u00a7

      fn eq(&self, other: &Vec<U, A>) -> bool

      This method tests for self and other values to be equal, and is used\n-by ==.
      source\u00a7

      fn ne(&self, other: &Vec<U, A>) -> bool

      This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
      source\u00a7

      impl<T, U, A: Allocator> PartialEq<Vec<U, A>> for Cow<'_, [T]>
      where\n- T: PartialEq<U> + Clone,

      source\u00a7

      fn eq(&self, other: &Vec<U, A>) -> bool

      This method tests for self and other values to be equal, and is used\n-by ==.
      source\u00a7

      fn ne(&self, other: &Vec<U, A>) -> bool

      This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
      1.17.0 \u00b7 source\u00a7

      impl<T, U, A: Allocator> PartialEq<Vec<U, A>> for VecDeque<T, A>
      where\n- T: PartialEq<U>,

      source\u00a7

      fn eq(&self, other: &Vec<U, A>) -> bool

      This method tests for self and other values to be equal, and is used\n-by ==.
      source\u00a7

      fn ne(&self, other: &Rhs) -> bool

      This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
      source\u00a7

      impl<T, U, A1: Allocator, A2: Allocator> PartialEq<Vec<U, A2>> for Vec<T, A1>
      where\n- T: PartialEq<U>,

      source\u00a7

      fn eq(&self, other: &Vec<U, A2>) -> bool

      This method tests for self and other values to be equal, and is used\n-by ==.
      source\u00a7

      fn ne(&self, other: &Vec<U, A2>) -> bool

      This method tests for !=. The default implementation is almost always\n-sufficient, and should not be overridden without very good reason.
      source\u00a7

      impl<T, A1, A2> PartialOrd<Vec<T, A2>> for Vec<T, A1>
      where\n- T: PartialOrd,\n+

      \u00a7

      type Item = T

      The type of the elements being iterated over.
      \u00a7

      type IntoIter = IntoIter<T, A>

      Which kind of iterator are we turning this into?
      source\u00a7

      impl<T: Ord, A: Allocator> Ord for Vec<T, A>

      Implements ordering of vectors, lexicographically.

      \n+
      source\u00a7

      fn cmp(&self, other: &Self) -> Ordering

      This method returns an Ordering between self and other. Read more
      1.21.0 \u00b7 source\u00a7

      fn max(self, other: Self) -> Self
      where\n+ Self: Sized,

      Compares and returns the maximum of two values. Read more
      1.21.0 \u00b7 source\u00a7

      fn min(self, other: Self) -> Self
      where\n+ Self: Sized,

      Compares and returns the minimum of two values. Read more
      1.50.0 \u00b7 source\u00a7

      fn clamp(self, min: Self, max: Self) -> Self
      where\n+ Self: Sized + PartialOrd,

      Restrict a value to a certain interval. Read more
      source\u00a7

      impl<T, U, A: Allocator> PartialEq<&[U]> for Vec<T, A>
      where\n+ T: PartialEq<U>,

      source\u00a7

      fn eq(&self, other: &&[U]) -> bool

      This method tests for self and other values to be equal, and is used\n+by ==.
      source\u00a7

      fn ne(&self, other: &&[U]) -> bool

      This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
      source\u00a7

      impl<T, U, A: Allocator, const N: usize> PartialEq<&[U; N]> for Vec<T, A>
      where\n+ T: PartialEq<U>,

      source\u00a7

      fn eq(&self, other: &&[U; N]) -> bool

      This method tests for self and other values to be equal, and is used\n+by ==.
      source\u00a7

      fn ne(&self, other: &&[U; N]) -> bool

      This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
      source\u00a7

      impl<T, U, A: Allocator> PartialEq<&mut [U]> for Vec<T, A>
      where\n+ T: PartialEq<U>,

      source\u00a7

      fn eq(&self, other: &&mut [U]) -> bool

      This method tests for self and other values to be equal, and is used\n+by ==.
      source\u00a7

      fn ne(&self, other: &&mut [U]) -> bool

      This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
      1.48.0 \u00b7 source\u00a7

      impl<T, U, A: Allocator> PartialEq<[U]> for Vec<T, A>
      where\n+ T: PartialEq<U>,

      source\u00a7

      fn eq(&self, other: &[U]) -> bool

      This method tests for self and other values to be equal, and is used\n+by ==.
      source\u00a7

      fn ne(&self, other: &[U]) -> bool

      This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
      source\u00a7

      impl<T, U, A: Allocator, const N: usize> PartialEq<[U; N]> for Vec<T, A>
      where\n+ T: PartialEq<U>,

      source\u00a7

      fn eq(&self, other: &[U; N]) -> bool

      This method tests for self and other values to be equal, and is used\n+by ==.
      source\u00a7

      fn ne(&self, other: &[U; N]) -> bool

      This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
      1.46.0 \u00b7 source\u00a7

      impl<T, U, A: Allocator> PartialEq<Vec<U, A>> for &[T]
      where\n+ T: PartialEq<U>,

      source\u00a7

      fn eq(&self, other: &Vec<U, A>) -> bool

      This method tests for self and other values to be equal, and is used\n+by ==.
      source\u00a7

      fn ne(&self, other: &Vec<U, A>) -> bool

      This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
      1.46.0 \u00b7 source\u00a7

      impl<T, U, A: Allocator> PartialEq<Vec<U, A>> for &mut [T]
      where\n+ T: PartialEq<U>,

      source\u00a7

      fn eq(&self, other: &Vec<U, A>) -> bool

      This method tests for self and other values to be equal, and is used\n+by ==.
      source\u00a7

      fn ne(&self, other: &Vec<U, A>) -> bool

      This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
      1.48.0 \u00b7 source\u00a7

      impl<T, U, A: Allocator> PartialEq<Vec<U, A>> for [T]
      where\n+ T: PartialEq<U>,

      source\u00a7

      fn eq(&self, other: &Vec<U, A>) -> bool

      This method tests for self and other values to be equal, and is used\n+by ==.
      source\u00a7

      fn ne(&self, other: &Vec<U, A>) -> bool

      This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
      source\u00a7

      impl<T, U, A: Allocator> PartialEq<Vec<U, A>> for Cow<'_, [T]>
      where\n+ T: PartialEq<U> + Clone,

      source\u00a7

      fn eq(&self, other: &Vec<U, A>) -> bool

      This method tests for self and other values to be equal, and is used\n+by ==.
      source\u00a7

      fn ne(&self, other: &Vec<U, A>) -> bool

      This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
      1.17.0 \u00b7 source\u00a7

      impl<T, U, A: Allocator> PartialEq<Vec<U, A>> for VecDeque<T, A>
      where\n+ T: PartialEq<U>,

      source\u00a7

      fn eq(&self, other: &Vec<U, A>) -> bool

      This method tests for self and other values to be equal, and is used\n+by ==.
      source\u00a7

      fn ne(&self, other: &Rhs) -> bool

      This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
      source\u00a7

      impl<T, U, A1: Allocator, A2: Allocator> PartialEq<Vec<U, A2>> for Vec<T, A1>
      where\n+ T: PartialEq<U>,

      source\u00a7

      fn eq(&self, other: &Vec<U, A2>) -> bool

      This method tests for self and other values to be equal, and is used\n+by ==.
      source\u00a7

      fn ne(&self, other: &Vec<U, A2>) -> bool

      This method tests for !=. The default implementation is almost always\n+sufficient, and should not be overridden without very good reason.
      source\u00a7

      impl<T, A1, A2> PartialOrd<Vec<T, A2>> for Vec<T, A1>
      where\n+ T: PartialOrd,\n A1: Allocator,\n- A2: Allocator,

      Implements comparison of vectors, lexicographically.

      \n-
      source\u00a7

      fn partial_cmp(&self, other: &Vec<T, A2>) -> Option<Ordering>

      This method returns an ordering between self and other values if one exists. Read more
      source\u00a7

      fn lt(&self, other: &Rhs) -> bool

      This method tests less than (for self and other) and is used by the < operator. Read more
      source\u00a7

      fn le(&self, other: &Rhs) -> bool

      This method tests less than or equal to (for self and other) and is used by the <=\n-operator. Read more
      source\u00a7

      fn gt(&self, other: &Rhs) -> bool

      This method tests greater than (for self and other) and is used by the > operator. Read more
      source\u00a7

      fn ge(&self, other: &Rhs) -> bool

      This method tests greater than or equal to (for self and other) and is used by the >=\n-operator. Read more
      1.66.0 \u00b7 source\u00a7

      impl<T, const N: usize> TryFrom<Vec<T>> for Box<[T; N]>

      source\u00a7

      fn try_from(vec: Vec<T>) -> Result<Self, Self::Error>

      Attempts to convert a Vec<T> into a Box<[T; N]>.

      \n+ A2: Allocator,

      Implements comparison of vectors, lexicographically.

      \n+
      source\u00a7

      fn partial_cmp(&self, other: &Vec<T, A2>) -> Option<Ordering>

      This method returns an ordering between self and other values if one exists. Read more
      source\u00a7

      fn lt(&self, other: &Rhs) -> bool

      This method tests less than (for self and other) and is used by the < operator. Read more
      source\u00a7

      fn le(&self, other: &Rhs) -> bool

      This method tests less than or equal to (for self and other) and is used by the <=\n+operator. Read more
      source\u00a7

      fn gt(&self, other: &Rhs) -> bool

      This method tests greater than (for self and other) and is used by the > operator. Read more
      source\u00a7

      fn ge(&self, other: &Rhs) -> bool

      This method tests greater than or equal to (for self and other) and is used by the >=\n+operator. Read more
      1.66.0 \u00b7 source\u00a7

      impl<T, const N: usize> TryFrom<Vec<T>> for Box<[T; N]>

      source\u00a7

      fn try_from(vec: Vec<T>) -> Result<Self, Self::Error>

      Attempts to convert a Vec<T> into a Box<[T; N]>.

      \n

      Like Vec::into_boxed_slice, this is in-place if vec.capacity() == N,\n but will require a reallocation otherwise.

      \n
      \u00a7Errors
      \n

      Returns the original Vec<T> in the Err variant if\n boxed_slice.len() does not equal N.

      \n
      \u00a7Examples
      \n

      This can be used with vec! to create an array on the heap:

      \n \n
      let state: Box<[f32; 100]> = vec![1.0; 100].try_into().unwrap();\n assert_eq!(state.len(), 100);
      Run
      \n-
      \u00a7

      type Error = Vec<T>

      The type returned in the event of a conversion error.
      1.48.0 \u00b7 source\u00a7

      impl<T, A: Allocator, const N: usize> TryFrom<Vec<T, A>> for [T; N]

      source\u00a7

      fn try_from(vec: Vec<T, A>) -> Result<[T; N], Vec<T, A>>

      Gets the entire contents of the Vec<T> as an array,\n+

      \u00a7

      type Error = Vec<T>

      The type returned in the event of a conversion error.
      1.48.0 \u00b7 source\u00a7

      impl<T, A: Allocator, const N: usize> TryFrom<Vec<T, A>> for [T; N]

      source\u00a7

      fn try_from(vec: Vec<T, A>) -> Result<[T; N], Vec<T, A>>

      Gets the entire contents of the Vec<T> as an array,\n if its size exactly matches that of the requested array.

      \n
      \u00a7Examples
      \n
      assert_eq!(vec![1, 2, 3].try_into(), Ok([1, 2, 3]));\n assert_eq!(<Vec<i32>>::new().try_into(), Ok([]));
      Run
      \n

      If the length doesn\u2019t match, the input comes back in Err:

      \n \n
      let r: Result<[i32; 4], _> = (0..10).collect::<Vec<_>>().try_into();\n@@ -3860,30 +3860,30 @@\n \n 
      let mut v = String::from(\"hello world\").into_bytes();\n v.sort();\n v.truncate(2);\n let [a, b]: [_; 2] = v.try_into().unwrap();\n assert_eq!(a, b' ');\n assert_eq!(b, b'd');
      Run
      \n-
      \u00a7

      type Error = Vec<T, A>

      The type returned in the event of a conversion error.
      source\u00a7

      impl<T: Eq, A: Allocator> Eq for Vec<T, A>

      Auto Trait Implementations\u00a7

      \u00a7

      impl<T, A> Freeze for Vec<T, A>
      where\n- A: Freeze,

      \u00a7

      impl<T, A> RefUnwindSafe for Vec<T, A>
      where\n- A: RefUnwindSafe,\n- T: RefUnwindSafe,

      \u00a7

      impl<T, A> Send for Vec<T, A>
      where\n- A: Send,\n- T: Send,

      \u00a7

      impl<T, A> Sync for Vec<T, A>
      where\n- A: Sync,\n- T: Sync,

      \u00a7

      impl<T, A> Unpin for Vec<T, A>
      where\n- A: Unpin,\n- T: Unpin,

      \u00a7

      impl<T, A> UnwindSafe for Vec<T, A>
      where\n- A: UnwindSafe,\n- T: UnwindSafe,

      Blanket Implementations\u00a7

      source\u00a7

      impl<T> Any for T
      where\n- T: 'static + ?Sized,

      source\u00a7

      fn type_id(&self) -> TypeId

      Gets the TypeId of self. Read more
      source\u00a7

      impl<T> Borrow<T> for T
      where\n- T: ?Sized,

      source\u00a7

      fn borrow(&self) -> &T

      Immutably borrows from an owned value. Read more
      source\u00a7

      impl<T> BorrowMut<T> for T
      where\n- T: ?Sized,

      source\u00a7

      fn borrow_mut(&mut self) -> &mut T

      Mutably borrows from an owned value. Read more
      source\u00a7

      impl<T> From<T> for T

      source\u00a7

      fn from(t: T) -> T

      Returns the argument unchanged.

      \n-
      source\u00a7

      impl<T, U> Into<U> for T
      where\n- U: From<T>,

      source\u00a7

      fn into(self) -> U

      Calls U::from(self).

      \n+
      \u00a7

      type Error = Vec<T, A>

      The type returned in the event of a conversion error.
      source\u00a7

      impl<T: Eq, A: Allocator> Eq for Vec<T, A>

      Auto Trait Implementations\u00a7

      \u00a7

      impl<T, A> Freeze for Vec<T, A>
      where\n+ A: Freeze,

      \u00a7

      impl<T, A> RefUnwindSafe for Vec<T, A>
      where\n+ A: RefUnwindSafe,\n+ T: RefUnwindSafe,

      \u00a7

      impl<T, A> Send for Vec<T, A>
      where\n+ A: Send,\n+ T: Send,

      \u00a7

      impl<T, A> Sync for Vec<T, A>
      where\n+ A: Sync,\n+ T: Sync,

      \u00a7

      impl<T, A> Unpin for Vec<T, A>
      where\n+ A: Unpin,\n+ T: Unpin,

      \u00a7

      impl<T, A> UnwindSafe for Vec<T, A>
      where\n+ A: UnwindSafe,\n+ T: UnwindSafe,

      Blanket Implementations\u00a7

      source\u00a7

      impl<T> Any for T
      where\n+ T: 'static + ?Sized,

      source\u00a7

      fn type_id(&self) -> TypeId

      Gets the TypeId of self. Read more
      source\u00a7

      impl<T> Borrow<T> for T
      where\n+ T: ?Sized,

      source\u00a7

      fn borrow(&self) -> &T

      Immutably borrows from an owned value. Read more
      source\u00a7

      impl<T> BorrowMut<T> for T
      where\n+ T: ?Sized,

      source\u00a7

      fn borrow_mut(&mut self) -> &mut T

      Mutably borrows from an owned value. Read more
      source\u00a7

      impl<T> From<T> for T

      source\u00a7

      fn from(t: T) -> T

      Returns the argument unchanged.

      \n+
      source\u00a7

      impl<T, U> Into<U> for T
      where\n+ U: From<T>,

      source\u00a7

      fn into(self) -> U

      Calls U::from(self).

      \n

      That is, this conversion is whatever the implementation of\n-From<T> for U chooses to do.

      \n+From<T> for U chooses to do.

      \n
      source\u00a7

      impl<T> ToOwned for T
      where\n- T: Clone,

      \u00a7

      type Owned = T

      The resulting type after obtaining ownership.
      source\u00a7

      fn to_owned(&self) -> T

      Creates owned data from borrowed data, usually by cloning. Read more
      source\u00a7

      fn clone_into(&self, target: &mut T)

      Uses borrowed data to replace owned data, usually by cloning. Read more
      source\u00a7

      impl<T, U> TryFrom<U> for T
      where\n- U: Into<T>,

      \u00a7

      type Error = Infallible

      The type returned in the event of a conversion error.
      source\u00a7

      fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

      Performs the conversion.
      source\u00a7

      impl<T, U> TryInto<U> for T
      where\n- U: TryFrom<T>,

      \u00a7

      type Error = <U as TryFrom<T>>::Error

      The type returned in the event of a conversion error.
      source\u00a7

      fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

      Performs the conversion.
      \n+ T: Clone,
      \u00a7

      type Owned = T

      The resulting type after obtaining ownership.
      source\u00a7

      fn to_owned(&self) -> T

      Creates owned data from borrowed data, usually by cloning. Read more
      source\u00a7

      fn clone_into(&self, target: &mut T)

      Uses borrowed data to replace owned data, usually by cloning. Read more
      source\u00a7

      impl<T, U> TryFrom<U> for T
      where\n+ U: Into<T>,

      \u00a7

      type Error = Infallible

      The type returned in the event of a conversion error.
      source\u00a7

      fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

      Performs the conversion.
      source\u00a7

      impl<T, U> TryInto<U> for T
      where\n+ U: TryFrom<T>,

      \u00a7

      type Error = <U as TryFrom<T>>::Error

      The type returned in the event of a conversion error.
      source\u00a7

      fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

      Performs the conversion.
      \n"}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/async_iter/async_iter/trait.AsyncIterator.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/async_iter/async_iter/trait.AsyncIterator.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,11 +1,11 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl<S: ?Sized + AsyncIterator + Unpin> AsyncIterator for Box<S>\"]\n+ [\"impl<S: ?Sized + AsyncIterator + Unpin> AsyncIterator for Box<S>\"]\n ],\n \"core\": [],\n \"std\": []\n };\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/borrow/trait.Borrow.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/borrow/trait.Borrow.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,17 +1,17 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl Borrow<str> for String\"],\n- [\"impl Borrow<CStr> for CString\"],\n- [\"impl<'a, B> Borrow<B> for Cow<'a, B>
      where\\n B: ToOwned + ?Sized,
      \"],\n- [\"impl<T, A: Allocator> Borrow<[T]> for Vec<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> Borrow<T> for Box<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> Borrow<T> for Rc<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> Borrow<T> for Arc<T, A>\"]\n+ [\"impl Borrow<str> for String\"],\n+ [\"impl Borrow<CStr> for CString\"],\n+ [\"impl<'a, B> Borrow<B> for Cow<'a, B>
      where\\n B: ToOwned + ?Sized,
      \"],\n+ [\"impl<T, A: Allocator> Borrow<[T]> for Vec<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> Borrow<T> for Box<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> Borrow<T> for Rc<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> Borrow<T> for Arc<T, A>\"]\n ],\n \"core\": [],\n \"std\": [\n [\"impl Borrow<OsStr> for OsString\"],\n [\"impl Borrow<Path> for PathBuf\"]\n ]\n };\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/borrow/trait.BorrowMut.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/borrow/trait.BorrowMut.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,13 +1,13 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl BorrowMut<str> for String\"],\n- [\"impl<T, A: Allocator> BorrowMut<[T]> for Vec<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> BorrowMut<T> for Box<T, A>\"]\n+ [\"impl BorrowMut<str> for String\"],\n+ [\"impl<T, A: Allocator> BorrowMut<[T]> for Vec<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> BorrowMut<T> for Box<T, A>\"]\n ],\n \"core\": [],\n \"std\": []\n };\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/clone/trait.Clone.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/clone/trait.Clone.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,55 +1,55 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl Clone for TryReserveErrorKind\"],\n- [\"impl Clone for Global\"],\n- [\"impl Clone for Box<str>\"],\n- [\"impl Clone for Box<CStr>\"],\n- [\"impl Clone for UnorderedKeyError\"],\n- [\"impl Clone for TryReserveError\"],\n- [\"impl Clone for FromVecWithNulError\"],\n- [\"impl Clone for IntoStringError\"],\n- [\"impl Clone for NulError\"],\n- [\"impl Clone for CString\"],\n- [\"impl Clone for FromUtf8Error\"],\n- [\"impl Clone for String\"],\n- [\"impl<B: ?Sized + ToOwned> Clone for Cow<'_, B>\"],\n- [\"impl<K, V> Clone for Cursor<'_, K, V>\"],\n- [\"impl<K, V> Clone for Iter<'_, K, V>\"],\n- [\"impl<K, V> Clone for Keys<'_, K, V>\"],\n- [\"impl<K, V> Clone for Range<'_, K, V>\"],\n- [\"impl<K, V> Clone for Values<'_, K, V>\"],\n- [\"impl<K: Clone, V: Clone, A: Allocator + Clone> Clone for BTreeMap<K, V, A>\"],\n- [\"impl<T> Clone for Iter<'_, T>\"],\n- [\"impl<T> Clone for Iter<'_, T>\"],\n- [\"impl<T> Clone for Range<'_, T>\"],\n- [\"impl<T> Clone for SymmetricDifference<'_, T>\"],\n- [\"impl<T> Clone for Union<'_, T>\"],\n- [\"impl<T> Clone for Iter<'_, T>\"],\n- [\"impl<T> Clone for Iter<'_, T>\"],\n- [\"impl<T, A: Allocator + Clone> Clone for Difference<'_, T, A>\"],\n- [\"impl<T, A: Allocator + Clone> Clone for Intersection<'_, T, A>\"],\n- [\"impl<T, A: Allocator> Clone for Cursor<'_, T, A>\"],\n- [\"impl<T: Clone, A: Allocator + Clone> Clone for Box<[T], A>\"],\n- [\"impl<T: Clone, A: Allocator + Clone> Clone for Box<T, A>\"],\n- [\"impl<T: Clone, A: Allocator + Clone> Clone for BinaryHeap<T, A>\"],\n- [\"impl<T: Clone, A: Allocator + Clone> Clone for BTreeSet<T, A>\"],\n- [\"impl<T: Clone, A: Allocator + Clone> Clone for LinkedList<T, A>\"],\n- [\"impl<T: Clone, A: Allocator + Clone> Clone for VecDeque<T, A>\"],\n- [\"impl<T: Clone, A: Allocator + Clone> Clone for IntoIter<T, A>\"],\n- [\"impl<T: Clone, A: Allocator + Clone> Clone for Vec<T, A>\"],\n- [\"impl<T: Clone, A: Clone + Allocator> Clone for IntoIter<T, A>\"],\n- [\"impl<T: Clone, A: Clone + Allocator> Clone for IntoIterSorted<T, A>\"],\n- [\"impl<T: Clone, A: Clone + Allocator> Clone for IntoIter<T, A>\"],\n- [\"impl<T: Clone, A: Clone + Allocator> Clone for IntoIter<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator + Clone> Clone for Rc<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator + Clone> Clone for Weak<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator + Clone> Clone for Arc<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator + Clone> Clone for Weak<T, A>\"]\n+ [\"impl Clone for TryReserveErrorKind\"],\n+ [\"impl Clone for Global\"],\n+ [\"impl Clone for Box<str>\"],\n+ [\"impl Clone for Box<CStr>\"],\n+ [\"impl Clone for UnorderedKeyError\"],\n+ [\"impl Clone for TryReserveError\"],\n+ [\"impl Clone for FromVecWithNulError\"],\n+ [\"impl Clone for IntoStringError\"],\n+ [\"impl Clone for NulError\"],\n+ [\"impl Clone for CString\"],\n+ [\"impl Clone for FromUtf8Error\"],\n+ [\"impl Clone for String\"],\n+ [\"impl<B: ?Sized + ToOwned> Clone for Cow<'_, B>\"],\n+ [\"impl<K, V> Clone for Cursor<'_, K, V>\"],\n+ [\"impl<K, V> Clone for Iter<'_, K, V>\"],\n+ [\"impl<K, V> Clone for Keys<'_, K, V>\"],\n+ [\"impl<K, V> Clone for Range<'_, K, V>\"],\n+ [\"impl<K, V> Clone for Values<'_, K, V>\"],\n+ [\"impl<K: Clone, V: Clone, A: Allocator + Clone> Clone for BTreeMap<K, V, A>\"],\n+ [\"impl<T> Clone for Iter<'_, T>\"],\n+ [\"impl<T> Clone for Iter<'_, T>\"],\n+ [\"impl<T> Clone for Range<'_, T>\"],\n+ [\"impl<T> Clone for SymmetricDifference<'_, T>\"],\n+ [\"impl<T> Clone for Union<'_, T>\"],\n+ [\"impl<T> Clone for Iter<'_, T>\"],\n+ [\"impl<T> Clone for Iter<'_, T>\"],\n+ [\"impl<T, A: Allocator + Clone> Clone for Difference<'_, T, A>\"],\n+ [\"impl<T, A: Allocator + Clone> Clone for Intersection<'_, T, A>\"],\n+ [\"impl<T, A: Allocator> Clone for Cursor<'_, T, A>\"],\n+ [\"impl<T: Clone, A: Allocator + Clone> Clone for Box<[T], A>\"],\n+ [\"impl<T: Clone, A: Allocator + Clone> Clone for Box<T, A>\"],\n+ [\"impl<T: Clone, A: Allocator + Clone> Clone for BinaryHeap<T, A>\"],\n+ [\"impl<T: Clone, A: Allocator + Clone> Clone for BTreeSet<T, A>\"],\n+ [\"impl<T: Clone, A: Allocator + Clone> Clone for LinkedList<T, A>\"],\n+ [\"impl<T: Clone, A: Allocator + Clone> Clone for VecDeque<T, A>\"],\n+ [\"impl<T: Clone, A: Allocator + Clone> Clone for IntoIter<T, A>\"],\n+ [\"impl<T: Clone, A: Allocator + Clone> Clone for Vec<T, A>\"],\n+ [\"impl<T: Clone, A: Clone + Allocator> Clone for IntoIter<T, A>\"],\n+ [\"impl<T: Clone, A: Clone + Allocator> Clone for IntoIterSorted<T, A>\"],\n+ [\"impl<T: Clone, A: Clone + Allocator> Clone for IntoIter<T, A>\"],\n+ [\"impl<T: Clone, A: Clone + Allocator> Clone for IntoIter<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator + Clone> Clone for Rc<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator + Clone> Clone for Weak<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator + Clone> Clone for Arc<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator + Clone> Clone for Weak<T, A>\"]\n ],\n \"core\": [],\n \"proc_macro\": [\n [\"impl Clone for Delimiter\"],\n [\"impl Clone for Level\"],\n [\"impl Clone for Spacing\"],\n [\"impl Clone for TokenTree\"],\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/cmp/trait.Eq.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/cmp/trait.Eq.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,28 +1,28 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl Eq for TryReserveErrorKind\"],\n- [\"impl Eq for UnorderedKeyError\"],\n- [\"impl Eq for TryReserveError\"],\n- [\"impl Eq for FromVecWithNulError\"],\n- [\"impl Eq for IntoStringError\"],\n- [\"impl Eq for NulError\"],\n- [\"impl Eq for CString\"],\n- [\"impl Eq for FromUtf8Error\"],\n- [\"impl Eq for String\"],\n- [\"impl<B> Eq for Cow<'_, B>
      where\\n B: Eq + ToOwned + ?Sized,
      \"],\n- [\"impl<K: Eq, V: Eq, A: Allocator + Clone> Eq for BTreeMap<K, V, A>\"],\n- [\"impl<T: Eq, A: Allocator + Clone> Eq for BTreeSet<T, A>\"],\n- [\"impl<T: Eq, A: Allocator> Eq for LinkedList<T, A>\"],\n- [\"impl<T: Eq, A: Allocator> Eq for VecDeque<T, A>\"],\n- [\"impl<T: Eq, A: Allocator> Eq for Vec<T, A>\"],\n- [\"impl<T: ?Sized + Eq, A: Allocator> Eq for Box<T, A>\"],\n- [\"impl<T: ?Sized + Eq, A: Allocator> Eq for Rc<T, A>\"],\n- [\"impl<T: ?Sized + Eq, A: Allocator> Eq for Arc<T, A>\"]\n+ [\"impl Eq for TryReserveErrorKind\"],\n+ [\"impl Eq for UnorderedKeyError\"],\n+ [\"impl Eq for TryReserveError\"],\n+ [\"impl Eq for FromVecWithNulError\"],\n+ [\"impl Eq for IntoStringError\"],\n+ [\"impl Eq for NulError\"],\n+ [\"impl Eq for CString\"],\n+ [\"impl Eq for FromUtf8Error\"],\n+ [\"impl Eq for String\"],\n+ [\"impl<B> Eq for Cow<'_, B>
      where\\n B: Eq + ToOwned + ?Sized,
      \"],\n+ [\"impl<K: Eq, V: Eq, A: Allocator + Clone> Eq for BTreeMap<K, V, A>\"],\n+ [\"impl<T: Eq, A: Allocator + Clone> Eq for BTreeSet<T, A>\"],\n+ [\"impl<T: Eq, A: Allocator> Eq for LinkedList<T, A>\"],\n+ [\"impl<T: Eq, A: Allocator> Eq for VecDeque<T, A>\"],\n+ [\"impl<T: Eq, A: Allocator> Eq for Vec<T, A>\"],\n+ [\"impl<T: ?Sized + Eq, A: Allocator> Eq for Box<T, A>\"],\n+ [\"impl<T: ?Sized + Eq, A: Allocator> Eq for Rc<T, A>\"],\n+ [\"impl<T: ?Sized + Eq, A: Allocator> Eq for Arc<T, A>\"]\n ],\n \"core\": [],\n \"proc_macro\": [\n [\"impl Eq for Delimiter\"],\n [\"impl Eq for Spacing\"],\n [\"impl Eq for SourceFile\"]\n ],\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/cmp/trait.Ord.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/cmp/trait.Ord.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,21 +1,21 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl Ord for CString\"],\n- [\"impl Ord for String\"],\n- [\"impl<B> Ord for Cow<'_, B>
      where\\n B: Ord + ToOwned + ?Sized,
      \"],\n- [\"impl<K: Ord, V: Ord, A: Allocator + Clone> Ord for BTreeMap<K, V, A>\"],\n- [\"impl<T: Ord, A: Allocator + Clone> Ord for BTreeSet<T, A>\"],\n- [\"impl<T: Ord, A: Allocator> Ord for LinkedList<T, A>\"],\n- [\"impl<T: Ord, A: Allocator> Ord for VecDeque<T, A>\"],\n- [\"impl<T: Ord, A: Allocator> Ord for Vec<T, A>\"],\n- [\"impl<T: ?Sized + Ord, A: Allocator> Ord for Box<T, A>\"],\n- [\"impl<T: ?Sized + Ord, A: Allocator> Ord for Rc<T, A>\"],\n- [\"impl<T: ?Sized + Ord, A: Allocator> Ord for Arc<T, A>\"]\n+ [\"impl Ord for CString\"],\n+ [\"impl Ord for String\"],\n+ [\"impl<B> Ord for Cow<'_, B>
      where\\n B: Ord + ToOwned + ?Sized,
      \"],\n+ [\"impl<K: Ord, V: Ord, A: Allocator + Clone> Ord for BTreeMap<K, V, A>\"],\n+ [\"impl<T: Ord, A: Allocator + Clone> Ord for BTreeSet<T, A>\"],\n+ [\"impl<T: Ord, A: Allocator> Ord for LinkedList<T, A>\"],\n+ [\"impl<T: Ord, A: Allocator> Ord for VecDeque<T, A>\"],\n+ [\"impl<T: Ord, A: Allocator> Ord for Vec<T, A>\"],\n+ [\"impl<T: ?Sized + Ord, A: Allocator> Ord for Box<T, A>\"],\n+ [\"impl<T: ?Sized + Ord, A: Allocator> Ord for Rc<T, A>\"],\n+ [\"impl<T: ?Sized + Ord, A: Allocator> Ord for Arc<T, A>\"]\n ],\n \"core\": [],\n \"std\": [\n [\"impl Ord for ErrorKind\"],\n [\"impl Ord for OsStr\"],\n [\"impl Ord for OsString\"],\n [\"impl Ord for Components<'_>\"],\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/cmp/trait.PartialEq.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/cmp/trait.PartialEq.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,55 +1,55 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl PartialEq for TryReserveErrorKind\"],\n- [\"impl PartialEq for UnorderedKeyError\"],\n- [\"impl PartialEq for TryReserveError\"],\n- [\"impl PartialEq for FromVecWithNulError\"],\n- [\"impl PartialEq for IntoStringError\"],\n- [\"impl PartialEq for NulError\"],\n- [\"impl PartialEq for CString\"],\n- [\"impl PartialEq for FromUtf8Error\"],\n- [\"impl PartialEq for String\"],\n- [\"impl<'a, 'b> PartialEq<&'a str> for String\"],\n- [\"impl<'a, 'b> PartialEq<&'b str> for Cow<'a, str>\"],\n- [\"impl<'a, 'b> PartialEq<Cow<'a, str>> for &'b str\"],\n- [\"impl<'a, 'b> PartialEq<Cow<'a, str>> for str\"],\n- [\"impl<'a, 'b> PartialEq<Cow<'a, str>> for String\"],\n- [\"impl<'a, 'b> PartialEq<str> for Cow<'a, str>\"],\n- [\"impl<'a, 'b> PartialEq<str> for String\"],\n- [\"impl<'a, 'b> PartialEq<String> for &'a str\"],\n- [\"impl<'a, 'b> PartialEq<String> for Cow<'a, str>\"],\n- [\"impl<'a, 'b> PartialEq<String> for str\"],\n- [\"impl<'a, 'b, B, C> PartialEq<Cow<'b, C>> for Cow<'a, B>
      where\\n B: PartialEq<C> + ToOwned + ?Sized,\\n C: ToOwned + ?Sized,
      \"],\n- [\"impl<K: PartialEq, V: PartialEq, A: Allocator + Clone> PartialEq for BTreeMap<K, V, A>\"],\n- [\"impl<T, U> PartialEq<&[U]> for Cow<'_, [T]>
      where\\n T: PartialEq<U> + Clone,
      \"],\n- [\"impl<T, U> PartialEq<&mut [U]> for Cow<'_, [T]>
      where\\n T: PartialEq<U> + Clone,
      \"],\n- [\"impl<T, U, A1: Allocator, A2: Allocator> PartialEq<Vec<U, A2>> for Vec<T, A1>
      where\\n T: PartialEq<U>,
      \"],\n- [\"impl<T, U, A: Allocator> PartialEq<&[U]> for VecDeque<T, A>
      where\\n T: PartialEq<U>,
      \"],\n- [\"impl<T, U, A: Allocator> PartialEq<&[U]> for Vec<T, A>
      where\\n T: PartialEq<U>,
      \"],\n- [\"impl<T, U, A: Allocator> PartialEq<&mut [U]> for VecDeque<T, A>
      where\\n T: PartialEq<U>,
      \"],\n- [\"impl<T, U, A: Allocator> PartialEq<&mut [U]> for Vec<T, A>
      where\\n T: PartialEq<U>,
      \"],\n- [\"impl<T, U, A: Allocator> PartialEq<[U]> for Vec<T, A>
      where\\n T: PartialEq<U>,
      \"],\n- [\"impl<T, U, A: Allocator> PartialEq<Vec<U, A>> for &[T]
      where\\n T: PartialEq<U>,
      \"],\n- [\"impl<T, U, A: Allocator> PartialEq<Vec<U, A>> for &mut [T]
      where\\n T: PartialEq<U>,
      \"],\n- [\"impl<T, U, A: Allocator> PartialEq<Vec<U, A>> for Cow<'_, [T]>
      where\\n T: PartialEq<U> + Clone,
      \"],\n- [\"impl<T, U, A: Allocator> PartialEq<Vec<U, A>> for [T]
      where\\n T: PartialEq<U>,
      \"],\n- [\"impl<T, U, A: Allocator> PartialEq<Vec<U, A>> for VecDeque<T, A>
      where\\n T: PartialEq<U>,
      \"],\n- [\"impl<T, U, A: Allocator, const N: usize> PartialEq<&[U; N]> for VecDeque<T, A>
      where\\n T: PartialEq<U>,
      \"],\n- [\"impl<T, U, A: Allocator, const N: usize> PartialEq<&[U; N]> for Vec<T, A>
      where\\n T: PartialEq<U>,
      \"],\n- [\"impl<T, U, A: Allocator, const N: usize> PartialEq<&mut [U; N]> for VecDeque<T, A>
      where\\n T: PartialEq<U>,
      \"],\n- [\"impl<T, U, A: Allocator, const N: usize> PartialEq<[U; N]> for VecDeque<T, A>
      where\\n T: PartialEq<U>,
      \"],\n- [\"impl<T, U, A: Allocator, const N: usize> PartialEq<[U; N]> for Vec<T, A>
      where\\n T: PartialEq<U>,
      \"],\n- [\"impl<T: PartialEq, A: Allocator + Clone> PartialEq for BTreeSet<T, A>\"],\n- [\"impl<T: PartialEq, A: Allocator> PartialEq for LinkedList<T, A>\"],\n- [\"impl<T: PartialEq, A: Allocator> PartialEq for VecDeque<T, A>\"],\n- [\"impl<T: ?Sized + PartialEq, A: Allocator> PartialEq for Box<T, A>\"],\n- [\"impl<T: ?Sized + PartialEq, A: Allocator> PartialEq for Rc<T, A>\"],\n- [\"impl<T: ?Sized + PartialEq, A: Allocator> PartialEq for Arc<T, A>\"]\n+ [\"impl PartialEq for TryReserveErrorKind\"],\n+ [\"impl PartialEq for UnorderedKeyError\"],\n+ [\"impl PartialEq for TryReserveError\"],\n+ [\"impl PartialEq for FromVecWithNulError\"],\n+ [\"impl PartialEq for IntoStringError\"],\n+ [\"impl PartialEq for NulError\"],\n+ [\"impl PartialEq for CString\"],\n+ [\"impl PartialEq for FromUtf8Error\"],\n+ [\"impl PartialEq for String\"],\n+ [\"impl<'a, 'b> PartialEq<&'a str> for String\"],\n+ [\"impl<'a, 'b> PartialEq<&'b str> for Cow<'a, str>\"],\n+ [\"impl<'a, 'b> PartialEq<Cow<'a, str>> for &'b str\"],\n+ [\"impl<'a, 'b> PartialEq<Cow<'a, str>> for str\"],\n+ [\"impl<'a, 'b> PartialEq<Cow<'a, str>> for String\"],\n+ [\"impl<'a, 'b> PartialEq<str> for Cow<'a, str>\"],\n+ [\"impl<'a, 'b> PartialEq<str> for String\"],\n+ [\"impl<'a, 'b> PartialEq<String> for &'a str\"],\n+ [\"impl<'a, 'b> PartialEq<String> for Cow<'a, str>\"],\n+ [\"impl<'a, 'b> PartialEq<String> for str\"],\n+ [\"impl<'a, 'b, B, C> PartialEq<Cow<'b, C>> for Cow<'a, B>
      where\\n B: PartialEq<C> + ToOwned + ?Sized,\\n C: ToOwned + ?Sized,
      \"],\n+ [\"impl<K: PartialEq, V: PartialEq, A: Allocator + Clone> PartialEq for BTreeMap<K, V, A>\"],\n+ [\"impl<T, U> PartialEq<&[U]> for Cow<'_, [T]>
      where\\n T: PartialEq<U> + Clone,
      \"],\n+ [\"impl<T, U> PartialEq<&mut [U]> for Cow<'_, [T]>
      where\\n T: PartialEq<U> + Clone,
      \"],\n+ [\"impl<T, U, A1: Allocator, A2: Allocator> PartialEq<Vec<U, A2>> for Vec<T, A1>
      where\\n T: PartialEq<U>,
      \"],\n+ [\"impl<T, U, A: Allocator> PartialEq<&[U]> for VecDeque<T, A>
      where\\n T: PartialEq<U>,
      \"],\n+ [\"impl<T, U, A: Allocator> PartialEq<&[U]> for Vec<T, A>
      where\\n T: PartialEq<U>,
      \"],\n+ [\"impl<T, U, A: Allocator> PartialEq<&mut [U]> for VecDeque<T, A>
      where\\n T: PartialEq<U>,
      \"],\n+ [\"impl<T, U, A: Allocator> PartialEq<&mut [U]> for Vec<T, A>
      where\\n T: PartialEq<U>,
      \"],\n+ [\"impl<T, U, A: Allocator> PartialEq<[U]> for Vec<T, A>
      where\\n T: PartialEq<U>,
      \"],\n+ [\"impl<T, U, A: Allocator> PartialEq<Vec<U, A>> for &[T]
      where\\n T: PartialEq<U>,
      \"],\n+ [\"impl<T, U, A: Allocator> PartialEq<Vec<U, A>> for &mut [T]
      where\\n T: PartialEq<U>,
      \"],\n+ [\"impl<T, U, A: Allocator> PartialEq<Vec<U, A>> for Cow<'_, [T]>
      where\\n T: PartialEq<U> + Clone,
      \"],\n+ [\"impl<T, U, A: Allocator> PartialEq<Vec<U, A>> for [T]
      where\\n T: PartialEq<U>,
      \"],\n+ [\"impl<T, U, A: Allocator> PartialEq<Vec<U, A>> for VecDeque<T, A>
      where\\n T: PartialEq<U>,
      \"],\n+ [\"impl<T, U, A: Allocator, const N: usize> PartialEq<&[U; N]> for VecDeque<T, A>
      where\\n T: PartialEq<U>,
      \"],\n+ [\"impl<T, U, A: Allocator, const N: usize> PartialEq<&[U; N]> for Vec<T, A>
      where\\n T: PartialEq<U>,
      \"],\n+ [\"impl<T, U, A: Allocator, const N: usize> PartialEq<&mut [U; N]> for VecDeque<T, A>
      where\\n T: PartialEq<U>,
      \"],\n+ [\"impl<T, U, A: Allocator, const N: usize> PartialEq<[U; N]> for VecDeque<T, A>
      where\\n T: PartialEq<U>,
      \"],\n+ [\"impl<T, U, A: Allocator, const N: usize> PartialEq<[U; N]> for Vec<T, A>
      where\\n T: PartialEq<U>,
      \"],\n+ [\"impl<T: PartialEq, A: Allocator + Clone> PartialEq for BTreeSet<T, A>\"],\n+ [\"impl<T: PartialEq, A: Allocator> PartialEq for LinkedList<T, A>\"],\n+ [\"impl<T: PartialEq, A: Allocator> PartialEq for VecDeque<T, A>\"],\n+ [\"impl<T: ?Sized + PartialEq, A: Allocator> PartialEq for Box<T, A>\"],\n+ [\"impl<T: ?Sized + PartialEq, A: Allocator> PartialEq for Rc<T, A>\"],\n+ [\"impl<T: ?Sized + PartialEq, A: Allocator> PartialEq for Arc<T, A>\"]\n ],\n \"core\": [],\n \"proc_macro\": [\n [\"impl PartialEq for Delimiter\"],\n [\"impl PartialEq for Spacing\"],\n [\"impl PartialEq for SourceFile\"],\n [\"impl PartialEq<char> for Punct\"],\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/cmp/trait.PartialOrd.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/cmp/trait.PartialOrd.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,21 +1,21 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl PartialOrd for CString\"],\n- [\"impl PartialOrd for String\"],\n- [\"impl<'a, B> PartialOrd for Cow<'a, B>
      where\\n B: PartialOrd + ToOwned + ?Sized,
      \"],\n- [\"impl<K: PartialOrd, V: PartialOrd, A: Allocator + Clone> PartialOrd for BTreeMap<K, V, A>\"],\n- [\"impl<T, A1, A2> PartialOrd<Vec<T, A2>> for Vec<T, A1>
      where\\n T: PartialOrd,\\n A1: Allocator,\\n A2: Allocator,
      \"],\n- [\"impl<T: PartialOrd, A: Allocator + Clone> PartialOrd for BTreeSet<T, A>\"],\n- [\"impl<T: PartialOrd, A: Allocator> PartialOrd for LinkedList<T, A>\"],\n- [\"impl<T: PartialOrd, A: Allocator> PartialOrd for VecDeque<T, A>\"],\n- [\"impl<T: ?Sized + PartialOrd, A: Allocator> PartialOrd for Box<T, A>\"],\n- [\"impl<T: ?Sized + PartialOrd, A: Allocator> PartialOrd for Rc<T, A>\"],\n- [\"impl<T: ?Sized + PartialOrd, A: Allocator> PartialOrd for Arc<T, A>\"]\n+ [\"impl PartialOrd for CString\"],\n+ [\"impl PartialOrd for String\"],\n+ [\"impl<'a, B> PartialOrd for Cow<'a, B>
      where\\n B: PartialOrd + ToOwned + ?Sized,
      \"],\n+ [\"impl<K: PartialOrd, V: PartialOrd, A: Allocator + Clone> PartialOrd for BTreeMap<K, V, A>\"],\n+ [\"impl<T, A1, A2> PartialOrd<Vec<T, A2>> for Vec<T, A1>
      where\\n T: PartialOrd,\\n A1: Allocator,\\n A2: Allocator,
      \"],\n+ [\"impl<T: PartialOrd, A: Allocator + Clone> PartialOrd for BTreeSet<T, A>\"],\n+ [\"impl<T: PartialOrd, A: Allocator> PartialOrd for LinkedList<T, A>\"],\n+ [\"impl<T: PartialOrd, A: Allocator> PartialOrd for VecDeque<T, A>\"],\n+ [\"impl<T: ?Sized + PartialOrd, A: Allocator> PartialOrd for Box<T, A>\"],\n+ [\"impl<T: ?Sized + PartialOrd, A: Allocator> PartialOrd for Rc<T, A>\"],\n+ [\"impl<T: ?Sized + PartialOrd, A: Allocator> PartialOrd for Arc<T, A>\"]\n ],\n \"core\": [],\n \"std\": [\n [\"impl PartialOrd for ErrorKind\"],\n [\"impl PartialOrd for OsStr\"],\n [\"impl PartialOrd for OsString\"],\n [\"impl PartialOrd for Path\"],\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/convert/trait.AsMut.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/convert/trait.AsMut.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,14 +1,14 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl AsMut<str> for String\"],\n- [\"impl<T, A: Allocator> AsMut<[T]> for Vec<T, A>\"],\n- [\"impl<T, A: Allocator> AsMut<Vec<T, A>> for Vec<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> AsMut<T> for Box<T, A>\"]\n+ [\"impl AsMut<str> for String\"],\n+ [\"impl<T, A: Allocator> AsMut<[T]> for Vec<T, A>\"],\n+ [\"impl<T, A: Allocator> AsMut<Vec<T, A>> for Vec<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> AsMut<T> for Box<T, A>\"]\n ],\n \"core\": [],\n \"std\": []\n };\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/convert/trait.AsRef.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/convert/trait.AsRef.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,23 +1,23 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl AsRef<str> for String\"],\n- [\"impl AsRef<CStr> for CString\"],\n- [\"impl AsRef<[u8]> for String\"],\n- [\"impl<'a> AsRef<str> for Drain<'a>\"],\n- [\"impl<'a> AsRef<[u8]> for Drain<'a>\"],\n- [\"impl<'a, T, A: Allocator> AsRef<[T]> for Drain<'a, T, A>\"],\n- [\"impl<T, A: Allocator> AsRef<[T]> for IntoIter<T, A>\"],\n- [\"impl<T, A: Allocator> AsRef<[T]> for Vec<T, A>\"],\n- [\"impl<T, A: Allocator> AsRef<Vec<T, A>> for Vec<T, A>\"],\n- [\"impl<T: ?Sized + ToOwned> AsRef<T> for Cow<'_, T>\"],\n- [\"impl<T: ?Sized, A: Allocator> AsRef<T> for Box<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> AsRef<T> for Rc<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> AsRef<T> for Arc<T, A>\"]\n+ [\"impl AsRef<str> for String\"],\n+ [\"impl AsRef<CStr> for CString\"],\n+ [\"impl AsRef<[u8]> for String\"],\n+ [\"impl<'a> AsRef<str> for Drain<'a>\"],\n+ [\"impl<'a> AsRef<[u8]> for Drain<'a>\"],\n+ [\"impl<'a, T, A: Allocator> AsRef<[T]> for Drain<'a, T, A>\"],\n+ [\"impl<T, A: Allocator> AsRef<[T]> for IntoIter<T, A>\"],\n+ [\"impl<T, A: Allocator> AsRef<[T]> for Vec<T, A>\"],\n+ [\"impl<T, A: Allocator> AsRef<Vec<T, A>> for Vec<T, A>\"],\n+ [\"impl<T: ?Sized + ToOwned> AsRef<T> for Cow<'_, T>\"],\n+ [\"impl<T: ?Sized, A: Allocator> AsRef<T> for Box<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> AsRef<T> for Rc<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> AsRef<T> for Arc<T, A>\"]\n ],\n \"core\": [],\n \"std\": [\n [\"impl AsRef<OsStr> for Component<'_>\"],\n [\"impl AsRef<OsStr> for str\"],\n [\"impl AsRef<OsStr> for OsStr\"],\n [\"impl AsRef<OsStr> for OsString\"],\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/convert/trait.From.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/convert/trait.From.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,98 +1,98 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl From<&str> for Box<str>\"],\n- [\"impl From<&str> for Rc<str>\"],\n- [\"impl From<&str> for String\"],\n- [\"impl From<&str> for Arc<str>\"],\n- [\"impl From<&str> for Vec<u8>\"],\n- [\"impl From<&String> for String\"],\n- [\"impl From<&CStr> for Box<CStr>\"],\n- [\"impl From<&CStr> for CString\"],\n- [\"impl From<&CStr> for Rc<CStr>\"],\n- [\"impl From<&CStr> for Arc<CStr>\"],\n- [\"impl From<&mut str> for String\"],\n- [\"impl From<Cow<'_, str>> for Box<str>\"],\n- [\"impl From<Cow<'_, CStr>> for Box<CStr>\"],\n- [\"impl From<TryReserveErrorKind> for TryReserveError\"],\n- [\"impl From<char> for String\"],\n- [\"impl From<LayoutError> for TryReserveErrorKind\"],\n- [\"impl From<Box<str>> for String\"],\n- [\"impl From<Box<CStr>> for CString\"],\n- [\"impl From<CString> for Box<CStr>\"],\n- [\"impl From<CString> for Rc<CStr>\"],\n- [\"impl From<CString> for Arc<CStr>\"],\n- [\"impl From<CString> for Vec<u8>\"],\n- [\"impl From<Rc<str>> for Rc<[u8]>\"],\n- [\"impl From<String> for Box<str>\"],\n- [\"impl From<String> for Rc<str>\"],\n- [\"impl From<String> for Arc<str>\"],\n- [\"impl From<String> for Vec<u8>\"],\n- [\"impl From<Arc<str>> for Arc<[u8]>\"],\n- [\"impl From<Vec<NonZero<u8>>> for CString\"],\n- [\"impl<'a> From<&'a str> for Cow<'a, str>\"],\n- [\"impl<'a> From<&'a CString> for Cow<'a, CStr>\"],\n- [\"impl<'a> From<&'a String> for Cow<'a, str>\"],\n- [\"impl<'a> From<&'a CStr> for Cow<'a, CStr>\"],\n- [\"impl<'a> From<&str> for Box<dyn Error + 'a>\"],\n- [\"impl<'a> From<&str> for Box<dyn Error + Send + Sync + 'a>\"],\n- [\"impl<'a> From<Cow<'a, str>> for String\"],\n- [\"impl<'a> From<Cow<'a, CStr>> for CString\"],\n- [\"impl<'a> From<CString> for Cow<'a, CStr>\"],\n- [\"impl<'a> From<String> for Cow<'a, str>\"],\n- [\"impl<'a> From<String> for Box<dyn Error + 'a>\"],\n- [\"impl<'a> From<String> for Box<dyn Error + Send + Sync + 'a>\"],\n- [\"impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + 'a>\"],\n- [\"impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a>\"],\n- [\"impl<'a, B> From<Cow<'a, B>> for Rc<B>
      where\\n B: ToOwned + ?Sized,\\n Rc<B>: From<&'a B> + From<B::Owned>,
      \"],\n- [\"impl<'a, B> From<Cow<'a, B>> for Arc<B>
      where\\n B: ToOwned + ?Sized,\\n Arc<B>: From<&'a B> + From<B::Owned>,
      \"],\n- [\"impl<'a, E: Error + 'a> From<E> for Box<dyn Error + 'a>\"],\n- [\"impl<'a, E: Error + Send + Sync + 'a> From<E> for Box<dyn Error + Send + Sync + 'a>\"],\n- [\"impl<'a, T> From<Cow<'a, [T]>> for Vec<T>
      where\\n [T]: ToOwned<Owned = Vec<T>>,
      \"],\n- [\"impl<'a, T: Clone> From<&'a [T]> for Cow<'a, [T]>\"],\n- [\"impl<'a, T: Clone> From<&'a Vec<T>> for Cow<'a, [T]>\"],\n- [\"impl<'a, T: Clone> From<Vec<T>> for Cow<'a, [T]>\"],\n- [\"impl<'a, T: Clone, const N: usize> From<&'a [T; N]> for Cow<'a, [T]>\"],\n- [\"impl<A: Allocator> From<Box<str, A>> for Box<[u8], A>\"],\n- [\"impl<K: Ord, V, const N: usize> From<[(K, V); N]> for BTreeMap<K, V>\"],\n- [\"impl<T> From<T> for Box<T>\"],\n- [\"impl<T> From<T> for Rc<T>\"],\n- [\"impl<T> From<T> for Arc<T>\"],\n- [\"impl<T, A: Allocator + Clone> From<Vec<T, A>> for Arc<[T], A>\"],\n- [\"impl<T, A: Allocator> From<Box<[T], A>> for Vec<T, A>\"],\n- [\"impl<T, A: Allocator> From<BinaryHeap<T, A>> for Vec<T, A>\"],\n- [\"impl<T, A: Allocator> From<VecDeque<T, A>> for Vec<T, A>\"],\n- [\"impl<T, A: Allocator> From<Vec<T, A>> for Box<[T], A>\"],\n- [\"impl<T, A: Allocator> From<Vec<T, A>> for VecDeque<T, A>\"],\n- [\"impl<T, A: Allocator> From<Vec<T, A>> for Rc<[T], A>\"],\n- [\"impl<T, const N: usize> From<[T; N]> for Box<[T]>\"],\n- [\"impl<T, const N: usize> From<[T; N]> for LinkedList<T>\"],\n- [\"impl<T, const N: usize> From<[T; N]> for VecDeque<T>\"],\n- [\"impl<T, const N: usize> From<[T; N]> for Rc<[T]>\"],\n- [\"impl<T, const N: usize> From<[T; N]> for Arc<[T]>\"],\n- [\"impl<T, const N: usize> From<[T; N]> for Vec<T>\"],\n- [\"impl<T: Clone> From<&[T]> for Box<[T]>\"],\n- [\"impl<T: Clone> From<&[T]> for Rc<[T]>\"],\n- [\"impl<T: Clone> From<&[T]> for Arc<[T]>\"],\n- [\"impl<T: Clone> From<&[T]> for Vec<T>\"],\n- [\"impl<T: Clone> From<&mut [T]> for Vec<T>\"],\n- [\"impl<T: Clone> From<Cow<'_, [T]>> for Box<[T]>\"],\n- [\"impl<T: Clone, const N: usize> From<&[T; N]> for Vec<T>\"],\n- [\"impl<T: Clone, const N: usize> From<&mut [T; N]> for Vec<T>\"],\n- [\"impl<T: Ord, A: Allocator> From<Vec<T, A>> for BinaryHeap<T, A>\"],\n- [\"impl<T: Ord, const N: usize> From<[T; N]> for BinaryHeap<T>\"],\n- [\"impl<T: Ord, const N: usize> From<[T; N]> for BTreeSet<T>\"],\n- [\"impl<T: ?Sized, A> From<Box<T, A>> for Pin<Box<T, A>>
      where\\n A: 'static + Allocator,
      \"],\n- [\"impl<T: ?Sized, A: Allocator> From<Box<T, A>> for Rc<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> From<Box<T, A>> for Arc<T, A>\"],\n- [\"impl<W: LocalWake + 'static> From<Rc<W>> for LocalWaker\"],\n- [\"impl<W: LocalWake + 'static> From<Rc<W>> for RawWaker\"],\n- [\"impl<W: Wake + Send + Sync + 'static> From<Arc<W>> for RawWaker\"],\n- [\"impl<W: Wake + Send + Sync + 'static> From<Arc<W>> for Waker\"]\n+ [\"impl From<&str> for Box<str>\"],\n+ [\"impl From<&str> for Rc<str>\"],\n+ [\"impl From<&str> for String\"],\n+ [\"impl From<&str> for Arc<str>\"],\n+ [\"impl From<&str> for Vec<u8>\"],\n+ [\"impl From<&String> for String\"],\n+ [\"impl From<&CStr> for Box<CStr>\"],\n+ [\"impl From<&CStr> for CString\"],\n+ [\"impl From<&CStr> for Rc<CStr>\"],\n+ [\"impl From<&CStr> for Arc<CStr>\"],\n+ [\"impl From<&mut str> for String\"],\n+ [\"impl From<Cow<'_, str>> for Box<str>\"],\n+ [\"impl From<Cow<'_, CStr>> for Box<CStr>\"],\n+ [\"impl From<TryReserveErrorKind> for TryReserveError\"],\n+ [\"impl From<char> for String\"],\n+ [\"impl From<LayoutError> for TryReserveErrorKind\"],\n+ [\"impl From<Box<str>> for String\"],\n+ [\"impl From<Box<CStr>> for CString\"],\n+ [\"impl From<CString> for Box<CStr>\"],\n+ [\"impl From<CString> for Rc<CStr>\"],\n+ [\"impl From<CString> for Arc<CStr>\"],\n+ [\"impl From<CString> for Vec<u8>\"],\n+ [\"impl From<Rc<str>> for Rc<[u8]>\"],\n+ [\"impl From<String> for Box<str>\"],\n+ [\"impl From<String> for Rc<str>\"],\n+ [\"impl From<String> for Arc<str>\"],\n+ [\"impl From<String> for Vec<u8>\"],\n+ [\"impl From<Arc<str>> for Arc<[u8]>\"],\n+ [\"impl From<Vec<NonZero<u8>>> for CString\"],\n+ [\"impl<'a> From<&'a str> for Cow<'a, str>\"],\n+ [\"impl<'a> From<&'a CString> for Cow<'a, CStr>\"],\n+ [\"impl<'a> From<&'a String> for Cow<'a, str>\"],\n+ [\"impl<'a> From<&'a CStr> for Cow<'a, CStr>\"],\n+ [\"impl<'a> From<&str> for Box<dyn Error + 'a>\"],\n+ [\"impl<'a> From<&str> for Box<dyn Error + Send + Sync + 'a>\"],\n+ [\"impl<'a> From<Cow<'a, str>> for String\"],\n+ [\"impl<'a> From<Cow<'a, CStr>> for CString\"],\n+ [\"impl<'a> From<CString> for Cow<'a, CStr>\"],\n+ [\"impl<'a> From<String> for Cow<'a, str>\"],\n+ [\"impl<'a> From<String> for Box<dyn Error + 'a>\"],\n+ [\"impl<'a> From<String> for Box<dyn Error + Send + Sync + 'a>\"],\n+ [\"impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + 'a>\"],\n+ [\"impl<'a, 'b> From<Cow<'b, str>> for Box<dyn Error + Send + Sync + 'a>\"],\n+ [\"impl<'a, B> From<Cow<'a, B>> for Rc<B>
      where\\n B: ToOwned + ?Sized,\\n Rc<B>: From<&'a B> + From<B::Owned>,
      \"],\n+ [\"impl<'a, B> From<Cow<'a, B>> for Arc<B>
      where\\n B: ToOwned + ?Sized,\\n Arc<B>: From<&'a B> + From<B::Owned>,
      \"],\n+ [\"impl<'a, E: Error + 'a> From<E> for Box<dyn Error + 'a>\"],\n+ [\"impl<'a, E: Error + Send + Sync + 'a> From<E> for Box<dyn Error + Send + Sync + 'a>\"],\n+ [\"impl<'a, T> From<Cow<'a, [T]>> for Vec<T>
      where\\n [T]: ToOwned<Owned = Vec<T>>,
      \"],\n+ [\"impl<'a, T: Clone> From<&'a [T]> for Cow<'a, [T]>\"],\n+ [\"impl<'a, T: Clone> From<&'a Vec<T>> for Cow<'a, [T]>\"],\n+ [\"impl<'a, T: Clone> From<Vec<T>> for Cow<'a, [T]>\"],\n+ [\"impl<'a, T: Clone, const N: usize> From<&'a [T; N]> for Cow<'a, [T]>\"],\n+ [\"impl<A: Allocator> From<Box<str, A>> for Box<[u8], A>\"],\n+ [\"impl<K: Ord, V, const N: usize> From<[(K, V); N]> for BTreeMap<K, V>\"],\n+ [\"impl<T> From<T> for Box<T>\"],\n+ [\"impl<T> From<T> for Rc<T>\"],\n+ [\"impl<T> From<T> for Arc<T>\"],\n+ [\"impl<T, A: Allocator + Clone> From<Vec<T, A>> for Arc<[T], A>\"],\n+ [\"impl<T, A: Allocator> From<Box<[T], A>> for Vec<T, A>\"],\n+ [\"impl<T, A: Allocator> From<BinaryHeap<T, A>> for Vec<T, A>\"],\n+ [\"impl<T, A: Allocator> From<VecDeque<T, A>> for Vec<T, A>\"],\n+ [\"impl<T, A: Allocator> From<Vec<T, A>> for Box<[T], A>\"],\n+ [\"impl<T, A: Allocator> From<Vec<T, A>> for VecDeque<T, A>\"],\n+ [\"impl<T, A: Allocator> From<Vec<T, A>> for Rc<[T], A>\"],\n+ [\"impl<T, const N: usize> From<[T; N]> for Box<[T]>\"],\n+ [\"impl<T, const N: usize> From<[T; N]> for LinkedList<T>\"],\n+ [\"impl<T, const N: usize> From<[T; N]> for VecDeque<T>\"],\n+ [\"impl<T, const N: usize> From<[T; N]> for Rc<[T]>\"],\n+ [\"impl<T, const N: usize> From<[T; N]> for Arc<[T]>\"],\n+ [\"impl<T, const N: usize> From<[T; N]> for Vec<T>\"],\n+ [\"impl<T: Clone> From<&[T]> for Box<[T]>\"],\n+ [\"impl<T: Clone> From<&[T]> for Rc<[T]>\"],\n+ [\"impl<T: Clone> From<&[T]> for Arc<[T]>\"],\n+ [\"impl<T: Clone> From<&[T]> for Vec<T>\"],\n+ [\"impl<T: Clone> From<&mut [T]> for Vec<T>\"],\n+ [\"impl<T: Clone> From<Cow<'_, [T]>> for Box<[T]>\"],\n+ [\"impl<T: Clone, const N: usize> From<&[T; N]> for Vec<T>\"],\n+ [\"impl<T: Clone, const N: usize> From<&mut [T; N]> for Vec<T>\"],\n+ [\"impl<T: Ord, A: Allocator> From<Vec<T, A>> for BinaryHeap<T, A>\"],\n+ [\"impl<T: Ord, const N: usize> From<[T; N]> for BinaryHeap<T>\"],\n+ [\"impl<T: Ord, const N: usize> From<[T; N]> for BTreeSet<T>\"],\n+ [\"impl<T: ?Sized, A> From<Box<T, A>> for Pin<Box<T, A>>
      where\\n A: 'static + Allocator,
      \"],\n+ [\"impl<T: ?Sized, A: Allocator> From<Box<T, A>> for Rc<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> From<Box<T, A>> for Arc<T, A>\"],\n+ [\"impl<W: LocalWake + 'static> From<Rc<W>> for LocalWaker\"],\n+ [\"impl<W: LocalWake + 'static> From<Rc<W>> for RawWaker\"],\n+ [\"impl<W: Wake + Send + Sync + 'static> From<Arc<W>> for RawWaker\"],\n+ [\"impl<W: Wake + Send + Sync + 'static> From<Arc<W>> for Waker\"]\n ],\n \"core\": [],\n \"proc_macro\": [\n [\"impl From<TokenTree> for TokenStream\"],\n [\"impl From<Group> for TokenTree\"],\n [\"impl From<Ident> for TokenTree\"],\n [\"impl From<Literal> for TokenTree\"],\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/convert/trait.TryFrom.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/convert/trait.TryFrom.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,15 +1,15 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl<T, A: Allocator, const N: usize> TryFrom<Arc<[T], A>> for Arc<[T; N], A>\"],\n- [\"impl<T, A: Allocator, const N: usize> TryFrom<Vec<T, A>> for [T; N]\"],\n- [\"impl<T, const N: usize> TryFrom<Box<[T]>> for Box<[T; N]>\"],\n- [\"impl<T, const N: usize> TryFrom<Rc<[T]>> for Rc<[T; N]>\"],\n- [\"impl<T, const N: usize> TryFrom<Vec<T>> for Box<[T; N]>\"]\n+ [\"impl<T, A: Allocator, const N: usize> TryFrom<Arc<[T], A>> for Arc<[T; N], A>\"],\n+ [\"impl<T, A: Allocator, const N: usize> TryFrom<Vec<T, A>> for [T; N]\"],\n+ [\"impl<T, const N: usize> TryFrom<Box<[T]>> for Box<[T; N]>\"],\n+ [\"impl<T, const N: usize> TryFrom<Rc<[T]>> for Rc<[T; N]>\"],\n+ [\"impl<T, const N: usize> TryFrom<Vec<T>> for Box<[T; N]>\"]\n ],\n \"core\": [],\n \"std\": [\n [\"impl TryFrom<HandleOrInvalid> for OwnedHandle\"],\n [\"impl TryFrom<HandleOrNull> for OwnedHandle\"],\n [\"impl<'a> TryFrom<&'a OsStr> for &'a str\"]\n ]\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/default/trait.Default.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/default/trait.Default.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,44 +1,44 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl Default for Global\"],\n- [\"impl Default for Box<str>\"],\n- [\"impl Default for Box<CStr>\"],\n- [\"impl Default for CString\"],\n- [\"impl Default for String\"],\n- [\"impl<'a, K: 'a, V: 'a> Default for Iter<'a, K, V>\"],\n- [\"impl<'a, K: 'a, V: 'a> Default for IterMut<'a, K, V>\"],\n- [\"impl<B> Default for Cow<'_, B>
      where\\n B: ToOwned<Owned: Default> + ?Sized,
      \"],\n- [\"impl<K, V> Default for BTreeMap<K, V>\"],\n- [\"impl<K, V> Default for Keys<'_, K, V>\"],\n- [\"impl<K, V> Default for Range<'_, K, V>\"],\n- [\"impl<K, V> Default for Values<'_, K, V>\"],\n- [\"impl<K, V, A> Default for IntoIter<K, V, A>
      where\\n A: Allocator + Default + Clone,
      \"],\n- [\"impl<K, V, A> Default for IntoKeys<K, V, A>
      where\\n A: Allocator + Default + Clone,
      \"],\n- [\"impl<K, V, A> Default for IntoValues<K, V, A>
      where\\n A: Allocator + Default + Clone,
      \"],\n- [\"impl<T> Default for Box<[T]>\"],\n- [\"impl<T> Default for IntoIter<T>\"],\n- [\"impl<T> Default for BTreeSet<T>\"],\n- [\"impl<T> Default for Iter<'_, T>\"],\n- [\"impl<T> Default for Range<'_, T>\"],\n- [\"impl<T> Default for IntoIter<T>\"],\n- [\"impl<T> Default for Iter<'_, T>\"],\n- [\"impl<T> Default for IterMut<'_, T>\"],\n- [\"impl<T> Default for LinkedList<T>\"],\n- [\"impl<T> Default for VecDeque<T>\"],\n- [\"impl<T> Default for Weak<T>\"],\n- [\"impl<T> Default for Weak<T>\"],\n- [\"impl<T> Default for Vec<T>\"],\n- [\"impl<T, A> Default for IntoIter<T, A>
      where\\n A: Allocator + Default + Clone,
      \"],\n- [\"impl<T, A> Default for IntoIter<T, A>
      where\\n A: Allocator + Default,
      \"],\n- [\"impl<T: Ord> Default for BinaryHeap<T>\"],\n- [\"impl<T: Default> Default for Box<T>\"],\n- [\"impl<T: Default> Default for Rc<T>\"],\n- [\"impl<T: Default> Default for Arc<T>\"]\n+ [\"impl Default for Global\"],\n+ [\"impl Default for Box<str>\"],\n+ [\"impl Default for Box<CStr>\"],\n+ [\"impl Default for CString\"],\n+ [\"impl Default for String\"],\n+ [\"impl<'a, K: 'a, V: 'a> Default for Iter<'a, K, V>\"],\n+ [\"impl<'a, K: 'a, V: 'a> Default for IterMut<'a, K, V>\"],\n+ [\"impl<B> Default for Cow<'_, B>
      where\\n B: ToOwned<Owned: Default> + ?Sized,
      \"],\n+ [\"impl<K, V> Default for BTreeMap<K, V>\"],\n+ [\"impl<K, V> Default for Keys<'_, K, V>\"],\n+ [\"impl<K, V> Default for Range<'_, K, V>\"],\n+ [\"impl<K, V> Default for Values<'_, K, V>\"],\n+ [\"impl<K, V, A> Default for IntoIter<K, V, A>
      where\\n A: Allocator + Default + Clone,
      \"],\n+ [\"impl<K, V, A> Default for IntoKeys<K, V, A>
      where\\n A: Allocator + Default + Clone,
      \"],\n+ [\"impl<K, V, A> Default for IntoValues<K, V, A>
      where\\n A: Allocator + Default + Clone,
      \"],\n+ [\"impl<T> Default for Box<[T]>\"],\n+ [\"impl<T> Default for IntoIter<T>\"],\n+ [\"impl<T> Default for BTreeSet<T>\"],\n+ [\"impl<T> Default for Iter<'_, T>\"],\n+ [\"impl<T> Default for Range<'_, T>\"],\n+ [\"impl<T> Default for IntoIter<T>\"],\n+ [\"impl<T> Default for Iter<'_, T>\"],\n+ [\"impl<T> Default for IterMut<'_, T>\"],\n+ [\"impl<T> Default for LinkedList<T>\"],\n+ [\"impl<T> Default for VecDeque<T>\"],\n+ [\"impl<T> Default for Weak<T>\"],\n+ [\"impl<T> Default for Weak<T>\"],\n+ [\"impl<T> Default for Vec<T>\"],\n+ [\"impl<T, A> Default for IntoIter<T, A>
      where\\n A: Allocator + Default + Clone,
      \"],\n+ [\"impl<T, A> Default for IntoIter<T, A>
      where\\n A: Allocator + Default,
      \"],\n+ [\"impl<T: Ord> Default for BinaryHeap<T>\"],\n+ [\"impl<T: Default> Default for Box<T>\"],\n+ [\"impl<T: Default> Default for Rc<T>\"],\n+ [\"impl<T: Default> Default for Arc<T>\"]\n ],\n \"core\": [],\n \"proc_macro\": [\n [\"impl Default for TokenStream\"]\n ],\n \"std\": [\n [\"impl Default for &OsStr\"],\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/error/trait.Error.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/error/trait.Error.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,21 +1,21 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl Error for UnorderedKeyError\"],\n- [\"impl Error for TryReserveError\"],\n- [\"impl Error for FromVecWithNulError\"],\n- [\"impl Error for IntoStringError\"],\n- [\"impl Error for NulError\"],\n- [\"impl Error for FromUtf16Error\"],\n- [\"impl Error for FromUtf8Error\"],\n- [\"impl<'a, K: Debug + Ord, V: Debug> Error for OccupiedError<'a, K, V>\"],\n- [\"impl<T: Error + ?Sized> Error for Arc<T>\"],\n- [\"impl<T: Error> Error for Box<T>\"],\n- [\"impl<T: ?Sized + Error> Error for ThinBox<T>\"]\n+ [\"impl Error for UnorderedKeyError\"],\n+ [\"impl Error for TryReserveError\"],\n+ [\"impl Error for FromVecWithNulError\"],\n+ [\"impl Error for IntoStringError\"],\n+ [\"impl Error for NulError\"],\n+ [\"impl Error for FromUtf16Error\"],\n+ [\"impl Error for FromUtf8Error\"],\n+ [\"impl<'a, K: Debug + Ord, V: Debug> Error for OccupiedError<'a, K, V>\"],\n+ [\"impl<T: Error + ?Sized> Error for Arc<T>\"],\n+ [\"impl<T: Error> Error for Box<T>\"],\n+ [\"impl<T: ?Sized + Error> Error for ThinBox<T>\"]\n ],\n \"core\": [],\n \"proc_macro\": [\n [\"impl Error for ExpandError\"],\n [\"impl Error for LexError\"]\n ],\n \"std\": [\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/fmt/trait.Debug.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/fmt/trait.Debug.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -9,74 +9,74 @@\n [\"impl Debug for IntoStringError\"],\n [\"impl Debug for NulError\"],\n [\"impl Debug for CString\"],\n [\"impl Debug for Drain<'_>\"],\n [\"impl Debug for FromUtf16Error\"],\n [\"impl Debug for FromUtf8Error\"],\n [\"impl Debug for String\"],\n- [\"impl<'a, I: Debug + Iterator + 'a, A: Debug + Allocator + 'a> Debug for Splice<'a, I, A>
      where\\n I::Item: Debug,
      \"],\n+ [\"impl<'a, I: Debug + Iterator + 'a, A: Debug + Allocator + 'a> Debug for Splice<'a, I, A>
      where\\n I::Item: Debug,
      \"],\n [\"impl<'a, T: Debug + 'a> Debug for Range<'a, T>\"],\n [\"impl<'a, T: Debug + 'a, A: Debug + Allocator> Debug for Drain<'a, T, A>\"],\n- [\"impl<'a, T: Debug + Ord, A: Debug + Allocator> Debug for DrainSorted<'a, T, A>\"],\n- [\"impl<'a, T: Debug, F, A: Debug + Allocator> Debug for ExtractIf<'a, T, F, A>
      where\\n F: FnMut(&mut T) -> bool + Debug,
      \"],\n- [\"impl<B> Debug for Cow<'_, B>
      where\\n B: Debug + ToOwned<Owned: Debug> + ?Sized,
      \"],\n- [\"impl<K, V, F> Debug for ExtractIf<'_, K, V, F>
      where\\n K: Debug,\\n V: Debug,\\n F: FnMut(&K, &mut V) -> bool,
      \"],\n+ [\"impl<'a, T: Debug + Ord, A: Debug + Allocator> Debug for DrainSorted<'a, T, A>\"],\n+ [\"impl<'a, T: Debug, F, A: Debug + Allocator> Debug for ExtractIf<'a, T, F, A>
      where\\n F: FnMut(&mut T) -> bool + Debug,
      \"],\n+ [\"impl<B> Debug for Cow<'_, B>
      where\\n B: Debug + ToOwned<Owned: Debug> + ?Sized,
      \"],\n+ [\"impl<K, V, F> Debug for ExtractIf<'_, K, V, F>
      where\\n K: Debug,\\n V: Debug,\\n F: FnMut(&K, &mut V) -> bool,
      \"],\n [\"impl<K, V: Debug> Debug for Values<'_, K, V>\"],\n [\"impl<K, V: Debug> Debug for ValuesMut<'_, K, V>\"],\n- [\"impl<K, V: Debug, A: Allocator + Clone> Debug for IntoValues<K, V, A>\"],\n- [\"impl<K: Debug + Ord, V, A: Allocator + Clone> Debug for VacantEntry<'_, K, V, A>\"],\n- [\"impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for Entry<'_, K, V, A>\"],\n- [\"impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for OccupiedEntry<'_, K, V, A>\"],\n- [\"impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for OccupiedError<'_, K, V, A>\"],\n+ [\"impl<K, V: Debug, A: Allocator + Clone> Debug for IntoValues<K, V, A>\"],\n+ [\"impl<K: Debug + Ord, V, A: Allocator + Clone> Debug for VacantEntry<'_, K, V, A>\"],\n+ [\"impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for Entry<'_, K, V, A>\"],\n+ [\"impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for OccupiedEntry<'_, K, V, A>\"],\n+ [\"impl<K: Debug + Ord, V: Debug, A: Allocator + Clone> Debug for OccupiedError<'_, K, V, A>\"],\n [\"impl<K: Debug, V> Debug for Keys<'_, K, V>\"],\n- [\"impl<K: Debug, V, A: Allocator + Clone> Debug for IntoKeys<K, V, A>\"],\n+ [\"impl<K: Debug, V, A: Allocator + Clone> Debug for IntoKeys<K, V, A>\"],\n [\"impl<K: Debug, V: Debug> Debug for Cursor<'_, K, V>\"],\n [\"impl<K: Debug, V: Debug> Debug for Iter<'_, K, V>\"],\n [\"impl<K: Debug, V: Debug> Debug for IterMut<'_, K, V>\"],\n [\"impl<K: Debug, V: Debug> Debug for Range<'_, K, V>\"],\n [\"impl<K: Debug, V: Debug> Debug for RangeMut<'_, K, V>\"],\n [\"impl<K: Debug, V: Debug, A> Debug for CursorMut<'_, K, V, A>\"],\n [\"impl<K: Debug, V: Debug, A> Debug for CursorMutKey<'_, K, V, A>\"],\n- [\"impl<K: Debug, V: Debug, A: Allocator + Clone> Debug for BTreeMap<K, V, A>\"],\n- [\"impl<K: Debug, V: Debug, A: Allocator + Clone> Debug for IntoIter<K, V, A>\"],\n- [\"impl<T, F, A: Allocator + Clone> Debug for ExtractIf<'_, T, F, A>
      where\\n T: Debug,\\n F: FnMut(&T) -> bool,
      \"],\n- [\"impl<T: Debug + ?Sized, A: Allocator> Debug for Box<T, A>\"],\n+ [\"impl<K: Debug, V: Debug, A: Allocator + Clone> Debug for BTreeMap<K, V, A>\"],\n+ [\"impl<K: Debug, V: Debug, A: Allocator + Clone> Debug for IntoIter<K, V, A>\"],\n+ [\"impl<T, F, A: Allocator + Clone> Debug for ExtractIf<'_, T, F, A>
      where\\n T: Debug,\\n F: FnMut(&T) -> bool,
      \"],\n+ [\"impl<T: Debug + ?Sized, A: Allocator> Debug for Box<T, A>\"],\n [\"impl<T: Debug> Debug for Iter<'_, T>\"],\n [\"impl<T: Debug> Debug for Iter<'_, T>\"],\n [\"impl<T: Debug> Debug for SymmetricDifference<'_, T>\"],\n [\"impl<T: Debug> Debug for Union<'_, T>\"],\n [\"impl<T: Debug> Debug for Iter<'_, T>\"],\n [\"impl<T: Debug> Debug for IterMut<'_, T>\"],\n [\"impl<T: Debug> Debug for Iter<'_, T>\"],\n [\"impl<T: Debug> Debug for IterMut<'_, T>\"],\n [\"impl<T: Debug> Debug for UniqueRc<T>\"],\n- [\"impl<T: Debug, A: Allocator + Clone> Debug for BTreeSet<T, A>\"],\n- [\"impl<T: Debug, A: Allocator + Clone> Debug for Difference<'_, T, A>\"],\n- [\"impl<T: Debug, A: Allocator + Clone> Debug for Intersection<'_, T, A>\"],\n+ [\"impl<T: Debug, A: Allocator + Clone> Debug for BTreeSet<T, A>\"],\n+ [\"impl<T: Debug, A: Allocator + Clone> Debug for Difference<'_, T, A>\"],\n+ [\"impl<T: Debug, A: Allocator + Clone> Debug for Intersection<'_, T, A>\"],\n [\"impl<T: Debug, A: Allocator> Debug for BinaryHeap<T, A>\"],\n [\"impl<T: Debug, A: Allocator> Debug for IntoIter<T, A>\"],\n [\"impl<T: Debug, A: Allocator> Debug for Cursor<'_, T, A>\"],\n [\"impl<T: Debug, A: Allocator> Debug for CursorMut<'_, T, A>\"],\n [\"impl<T: Debug, A: Allocator> Debug for IntoIter<T, A>\"],\n [\"impl<T: Debug, A: Allocator> Debug for LinkedList<T, A>\"],\n [\"impl<T: Debug, A: Allocator> Debug for Drain<'_, T, A>\"],\n [\"impl<T: Debug, A: Allocator> Debug for IntoIter<T, A>\"],\n [\"impl<T: Debug, A: Allocator> Debug for VecDeque<T, A>\"],\n [\"impl<T: Debug, A: Allocator> Debug for Drain<'_, T, A>\"],\n [\"impl<T: Debug, A: Allocator> Debug for IntoIter<T, A>\"],\n [\"impl<T: Debug, A: Allocator> Debug for Vec<T, A>\"],\n- [\"impl<T: Debug, A: Debug + Allocator + Clone> Debug for IntoIter<T, A>\"],\n+ [\"impl<T: Debug, A: Debug + Allocator + Clone> Debug for IntoIter<T, A>\"],\n [\"impl<T: Debug, A: Debug + Allocator> Debug for IntoIterSorted<T, A>\"],\n- [\"impl<T: Debug, F> Debug for ExtractIf<'_, T, F>
      where\\n F: FnMut(&mut T) -> bool,
      \"],\n- [\"impl<T: Ord + Debug, A: Allocator> Debug for PeekMut<'_, T, A>\"],\n- [\"impl<T: ?Sized + Debug> Debug for ThinBox<T>\"],\n- [\"impl<T: ?Sized + Debug, A: Allocator> Debug for Rc<T, A>\"],\n- [\"impl<T: ?Sized + Debug, A: Allocator> Debug for Arc<T, A>\"],\n- [\"impl<T: ?Sized> Debug for Weak<T>\"],\n- [\"impl<T: ?Sized, A: Allocator> Debug for Weak<T, A>\"]\n+ [\"impl<T: Debug, F> Debug for ExtractIf<'_, T, F>
      where\\n F: FnMut(&mut T) -> bool,
      \"],\n+ [\"impl<T: Ord + Debug, A: Allocator> Debug for PeekMut<'_, T, A>\"],\n+ [\"impl<T: ?Sized + Debug> Debug for ThinBox<T>\"],\n+ [\"impl<T: ?Sized + Debug, A: Allocator> Debug for Rc<T, A>\"],\n+ [\"impl<T: ?Sized + Debug, A: Allocator> Debug for Arc<T, A>\"],\n+ [\"impl<T: ?Sized> Debug for Weak<T>\"],\n+ [\"impl<T: ?Sized, A: Allocator> Debug for Weak<T, A>\"]\n ],\n \"core\": [],\n \"proc_macro\": [\n [\"impl Debug for Delimiter\"],\n [\"impl Debug for Level\"],\n [\"impl Debug for Spacing\"],\n [\"impl Debug for TokenTree\"],\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/fmt/trait.Display.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/fmt/trait.Display.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -5,20 +5,20 @@\n [\"impl Display for TryReserveError\"],\n [\"impl Display for FromVecWithNulError\"],\n [\"impl Display for IntoStringError\"],\n [\"impl Display for NulError\"],\n [\"impl Display for FromUtf16Error\"],\n [\"impl Display for FromUtf8Error\"],\n [\"impl Display for String\"],\n- [\"impl<'a, K: Debug + Ord, V: Debug, A: Allocator + Clone> Display for OccupiedError<'a, K, V, A>\"],\n- [\"impl<B> Display for Cow<'_, B>
      where\\n B: Display + ToOwned<Owned: Display> + ?Sized,
      \"],\n- [\"impl<T: Display + ?Sized, A: Allocator> Display for Box<T, A>\"],\n- [\"impl<T: ?Sized + Display> Display for ThinBox<T>\"],\n- [\"impl<T: ?Sized + Display, A: Allocator> Display for Rc<T, A>\"],\n- [\"impl<T: ?Sized + Display, A: Allocator> Display for Arc<T, A>\"]\n+ [\"impl<'a, K: Debug + Ord, V: Debug, A: Allocator + Clone> Display for OccupiedError<'a, K, V, A>\"],\n+ [\"impl<B> Display for Cow<'_, B>
      where\\n B: Display + ToOwned<Owned: Display> + ?Sized,
      \"],\n+ [\"impl<T: Display + ?Sized, A: Allocator> Display for Box<T, A>\"],\n+ [\"impl<T: ?Sized + Display> Display for ThinBox<T>\"],\n+ [\"impl<T: ?Sized + Display, A: Allocator> Display for Rc<T, A>\"],\n+ [\"impl<T: ?Sized + Display, A: Allocator> Display for Arc<T, A>\"]\n ],\n \"core\": [],\n \"proc_macro\": [\n [\"impl Display for TokenTree\"],\n [\"impl Display for ExpandError\"],\n [\"impl Display for Group\"],\n [\"impl Display for Ident\"],\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/fmt/trait.Pointer.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/fmt/trait.Pointer.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,13 +1,13 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl<T: ?Sized, A: Allocator> Pointer for Box<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> Pointer for Rc<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> Pointer for Arc<T, A>\"]\n+ [\"impl<T: ?Sized, A: Allocator> Pointer for Box<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> Pointer for Rc<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> Pointer for Arc<T, A>\"]\n ],\n \"core\": [],\n \"std\": []\n };\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/future/future/trait.Future.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/future/future/trait.Future.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,11 +1,11 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl<F: ?Sized + Future + Unpin, A: Allocator> Future for Box<F, A>\"]\n+ [\"impl<F: ?Sized + Future + Unpin, A: Allocator> Future for Box<F, A>\"]\n ],\n \"core\": [],\n \"std\": []\n };\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/hash/trait.Hash.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/hash/trait.Hash.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,21 +1,21 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl Hash for CString\"],\n- [\"impl Hash for String\"],\n- [\"impl<B> Hash for Cow<'_, B>
      where\\n B: Hash + ToOwned + ?Sized,
      \"],\n- [\"impl<K: Hash, V: Hash, A: Allocator + Clone> Hash for BTreeMap<K, V, A>\"],\n- [\"impl<T: Hash, A: Allocator + Clone> Hash for BTreeSet<T, A>\"],\n- [\"impl<T: Hash, A: Allocator> Hash for LinkedList<T, A>\"],\n- [\"impl<T: Hash, A: Allocator> Hash for VecDeque<T, A>\"],\n- [\"impl<T: Hash, A: Allocator> Hash for Vec<T, A>\"],\n- [\"impl<T: ?Sized + Hash, A: Allocator> Hash for Box<T, A>\"],\n- [\"impl<T: ?Sized + Hash, A: Allocator> Hash for Rc<T, A>\"],\n- [\"impl<T: ?Sized + Hash, A: Allocator> Hash for Arc<T, A>\"]\n+ [\"impl Hash for CString\"],\n+ [\"impl Hash for String\"],\n+ [\"impl<B> Hash for Cow<'_, B>
      where\\n B: Hash + ToOwned + ?Sized,
      \"],\n+ [\"impl<K: Hash, V: Hash, A: Allocator + Clone> Hash for BTreeMap<K, V, A>\"],\n+ [\"impl<T: Hash, A: Allocator + Clone> Hash for BTreeSet<T, A>\"],\n+ [\"impl<T: Hash, A: Allocator> Hash for LinkedList<T, A>\"],\n+ [\"impl<T: Hash, A: Allocator> Hash for VecDeque<T, A>\"],\n+ [\"impl<T: Hash, A: Allocator> Hash for Vec<T, A>\"],\n+ [\"impl<T: ?Sized + Hash, A: Allocator> Hash for Box<T, A>\"],\n+ [\"impl<T: ?Sized + Hash, A: Allocator> Hash for Rc<T, A>\"],\n+ [\"impl<T: ?Sized + Hash, A: Allocator> Hash for Arc<T, A>\"]\n ],\n \"core\": [],\n \"std\": [\n [\"impl Hash for ErrorKind\"],\n [\"impl Hash for OsStr\"],\n [\"impl Hash for OsString\"],\n [\"impl Hash for FileType\"],\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/hash/trait.Hasher.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/hash/trait.Hasher.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,11 +1,11 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl<T: ?Sized + Hasher, A: Allocator> Hasher for Box<T, A>\"]\n+ [\"impl<T: ?Sized + Hasher, A: Allocator> Hasher for Box<T, A>\"]\n ],\n \"core\": [],\n \"std\": [\n [\"impl Hasher for DefaultHasher\"]\n ]\n };\n if (window.register_implementors) {\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/collect/trait.Extend.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/collect/trait.Extend.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,28 +1,28 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl Extend<char> for String\"],\n- [\"impl Extend<Box<str>> for String\"],\n- [\"impl Extend<String> for String\"],\n- [\"impl<'a> Extend<&'a char> for String\"],\n- [\"impl<'a> Extend<&'a str> for String\"],\n- [\"impl<'a> Extend<Cow<'a, str>> for String\"],\n- [\"impl<'a, K: Ord + Copy, V: Copy, A: Allocator + Clone> Extend<(&'a K, &'a V)> for BTreeMap<K, V, A>\"],\n- [\"impl<'a, T: 'a + Ord + Copy, A: Allocator + Clone> Extend<&'a T> for BTreeSet<T, A>\"],\n- [\"impl<'a, T: 'a + Ord + Copy, A: Allocator> Extend<&'a T> for BinaryHeap<T, A>\"],\n- [\"impl<'a, T: 'a + Copy, A: Allocator> Extend<&'a T> for LinkedList<T, A>\"],\n- [\"impl<'a, T: 'a + Copy, A: Allocator> Extend<&'a T> for VecDeque<T, A>\"],\n- [\"impl<'a, T: Copy + 'a, A: Allocator> Extend<&'a T> for Vec<T, A>\"],\n- [\"impl<K: Ord, V, A: Allocator + Clone> Extend<(K, V)> for BTreeMap<K, V, A>\"],\n- [\"impl<T, A: Allocator> Extend<T> for LinkedList<T, A>\"],\n- [\"impl<T, A: Allocator> Extend<T> for VecDeque<T, A>\"],\n- [\"impl<T, A: Allocator> Extend<T> for Vec<T, A>\"],\n- [\"impl<T: Ord, A: Allocator + Clone> Extend<T> for BTreeSet<T, A>\"],\n- [\"impl<T: Ord, A: Allocator> Extend<T> for BinaryHeap<T, A>\"]\n+ [\"impl Extend<char> for String\"],\n+ [\"impl Extend<Box<str>> for String\"],\n+ [\"impl Extend<String> for String\"],\n+ [\"impl<'a> Extend<&'a char> for String\"],\n+ [\"impl<'a> Extend<&'a str> for String\"],\n+ [\"impl<'a> Extend<Cow<'a, str>> for String\"],\n+ [\"impl<'a, K: Ord + Copy, V: Copy, A: Allocator + Clone> Extend<(&'a K, &'a V)> for BTreeMap<K, V, A>\"],\n+ [\"impl<'a, T: 'a + Ord + Copy, A: Allocator + Clone> Extend<&'a T> for BTreeSet<T, A>\"],\n+ [\"impl<'a, T: 'a + Ord + Copy, A: Allocator> Extend<&'a T> for BinaryHeap<T, A>\"],\n+ [\"impl<'a, T: 'a + Copy, A: Allocator> Extend<&'a T> for LinkedList<T, A>\"],\n+ [\"impl<'a, T: 'a + Copy, A: Allocator> Extend<&'a T> for VecDeque<T, A>\"],\n+ [\"impl<'a, T: Copy + 'a, A: Allocator> Extend<&'a T> for Vec<T, A>\"],\n+ [\"impl<K: Ord, V, A: Allocator + Clone> Extend<(K, V)> for BTreeMap<K, V, A>\"],\n+ [\"impl<T, A: Allocator> Extend<T> for LinkedList<T, A>\"],\n+ [\"impl<T, A: Allocator> Extend<T> for VecDeque<T, A>\"],\n+ [\"impl<T, A: Allocator> Extend<T> for Vec<T, A>\"],\n+ [\"impl<T: Ord, A: Allocator + Clone> Extend<T> for BTreeSet<T, A>\"],\n+ [\"impl<T: Ord, A: Allocator> Extend<T> for BinaryHeap<T, A>\"]\n ],\n \"core\": [],\n \"proc_macro\": [\n [\"impl Extend<TokenTree> for TokenStream\"],\n [\"impl Extend<TokenStream> for TokenStream\"]\n ],\n \"std\": [\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/collect/trait.FromIterator.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/collect/trait.FromIterator.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,29 +1,29 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl FromIterator<char> for String\"],\n- [\"impl FromIterator<Box<str>> for String\"],\n- [\"impl FromIterator<String> for String\"],\n- [\"impl<'a> FromIterator<&'a char> for String\"],\n- [\"impl<'a> FromIterator<&'a str> for String\"],\n- [\"impl<'a> FromIterator<Cow<'a, str>> for String\"],\n- [\"impl<'a> FromIterator<char> for Cow<'a, str>\"],\n- [\"impl<'a> FromIterator<String> for Cow<'a, str>\"],\n- [\"impl<'a, 'b> FromIterator<&'b str> for Cow<'a, str>\"],\n- [\"impl<'a, T> FromIterator<T> for Cow<'a, [T]>
      where\\n T: Clone,
      \"],\n- [\"impl<I> FromIterator<I> for Box<[I]>\"],\n- [\"impl<K: Ord, V> FromIterator<(K, V)> for BTreeMap<K, V>\"],\n- [\"impl<T> FromIterator<T> for LinkedList<T>\"],\n- [\"impl<T> FromIterator<T> for VecDeque<T>\"],\n- [\"impl<T> FromIterator<T> for Rc<[T]>\"],\n- [\"impl<T> FromIterator<T> for Arc<[T]>\"],\n- [\"impl<T> FromIterator<T> for Vec<T>\"],\n- [\"impl<T: Ord> FromIterator<T> for BinaryHeap<T>\"],\n- [\"impl<T: Ord> FromIterator<T> for BTreeSet<T>\"]\n+ [\"impl FromIterator<char> for String\"],\n+ [\"impl FromIterator<Box<str>> for String\"],\n+ [\"impl FromIterator<String> for String\"],\n+ [\"impl<'a> FromIterator<&'a char> for String\"],\n+ [\"impl<'a> FromIterator<&'a str> for String\"],\n+ [\"impl<'a> FromIterator<Cow<'a, str>> for String\"],\n+ [\"impl<'a> FromIterator<char> for Cow<'a, str>\"],\n+ [\"impl<'a> FromIterator<String> for Cow<'a, str>\"],\n+ [\"impl<'a, 'b> FromIterator<&'b str> for Cow<'a, str>\"],\n+ [\"impl<'a, T> FromIterator<T> for Cow<'a, [T]>
      where\\n T: Clone,
      \"],\n+ [\"impl<I> FromIterator<I> for Box<[I]>\"],\n+ [\"impl<K: Ord, V> FromIterator<(K, V)> for BTreeMap<K, V>\"],\n+ [\"impl<T> FromIterator<T> for LinkedList<T>\"],\n+ [\"impl<T> FromIterator<T> for VecDeque<T>\"],\n+ [\"impl<T> FromIterator<T> for Rc<[T]>\"],\n+ [\"impl<T> FromIterator<T> for Arc<[T]>\"],\n+ [\"impl<T> FromIterator<T> for Vec<T>\"],\n+ [\"impl<T: Ord> FromIterator<T> for BinaryHeap<T>\"],\n+ [\"impl<T: Ord> FromIterator<T> for BTreeSet<T>\"]\n ],\n \"core\": [],\n \"proc_macro\": [\n [\"impl FromIterator<TokenTree> for TokenStream\"],\n [\"impl FromIterator<TokenStream> for TokenStream\"]\n ],\n \"std\": [\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/collect/trait.IntoIterator.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/collect/trait.IntoIterator.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,26 +1,26 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl<'a, K, V, A: Allocator + Clone> IntoIterator for &'a BTreeMap<K, V, A>\"],\n- [\"impl<'a, K, V, A: Allocator + Clone> IntoIterator for &'a mut BTreeMap<K, V, A>\"],\n- [\"impl<'a, T, A: Allocator + Clone> IntoIterator for &'a BTreeSet<T, A>\"],\n- [\"impl<'a, T, A: Allocator> IntoIterator for &'a BinaryHeap<T, A>\"],\n- [\"impl<'a, T, A: Allocator> IntoIterator for &'a LinkedList<T, A>\"],\n- [\"impl<'a, T, A: Allocator> IntoIterator for &'a VecDeque<T, A>\"],\n- [\"impl<'a, T, A: Allocator> IntoIterator for &'a Vec<T, A>\"],\n- [\"impl<'a, T, A: Allocator> IntoIterator for &'a mut LinkedList<T, A>\"],\n- [\"impl<'a, T, A: Allocator> IntoIterator for &'a mut VecDeque<T, A>\"],\n- [\"impl<'a, T, A: Allocator> IntoIterator for &'a mut Vec<T, A>\"],\n- [\"impl<K, V, A: Allocator + Clone> IntoIterator for BTreeMap<K, V, A>\"],\n- [\"impl<T, A: Allocator + Clone> IntoIterator for BTreeSet<T, A>\"],\n- [\"impl<T, A: Allocator> IntoIterator for BinaryHeap<T, A>\"],\n- [\"impl<T, A: Allocator> IntoIterator for LinkedList<T, A>\"],\n- [\"impl<T, A: Allocator> IntoIterator for VecDeque<T, A>\"],\n- [\"impl<T, A: Allocator> IntoIterator for Vec<T, A>\"]\n+ [\"impl<'a, K, V, A: Allocator + Clone> IntoIterator for &'a BTreeMap<K, V, A>\"],\n+ [\"impl<'a, K, V, A: Allocator + Clone> IntoIterator for &'a mut BTreeMap<K, V, A>\"],\n+ [\"impl<'a, T, A: Allocator + Clone> IntoIterator for &'a BTreeSet<T, A>\"],\n+ [\"impl<'a, T, A: Allocator> IntoIterator for &'a BinaryHeap<T, A>\"],\n+ [\"impl<'a, T, A: Allocator> IntoIterator for &'a LinkedList<T, A>\"],\n+ [\"impl<'a, T, A: Allocator> IntoIterator for &'a VecDeque<T, A>\"],\n+ [\"impl<'a, T, A: Allocator> IntoIterator for &'a Vec<T, A>\"],\n+ [\"impl<'a, T, A: Allocator> IntoIterator for &'a mut LinkedList<T, A>\"],\n+ [\"impl<'a, T, A: Allocator> IntoIterator for &'a mut VecDeque<T, A>\"],\n+ [\"impl<'a, T, A: Allocator> IntoIterator for &'a mut Vec<T, A>\"],\n+ [\"impl<K, V, A: Allocator + Clone> IntoIterator for BTreeMap<K, V, A>\"],\n+ [\"impl<T, A: Allocator + Clone> IntoIterator for BTreeSet<T, A>\"],\n+ [\"impl<T, A: Allocator> IntoIterator for BinaryHeap<T, A>\"],\n+ [\"impl<T, A: Allocator> IntoIterator for LinkedList<T, A>\"],\n+ [\"impl<T, A: Allocator> IntoIterator for VecDeque<T, A>\"],\n+ [\"impl<T, A: Allocator> IntoIterator for Vec<T, A>\"]\n ],\n \"core\": [],\n \"proc_macro\": [\n [\"impl IntoIterator for TokenStream\"]\n ],\n \"std\": [\n [\"impl<'a> IntoIterator for &'a UnixListener\"],\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/double_ended/trait.DoubleEndedIterator.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/double_ended/trait.DoubleEndedIterator.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,38 +1,38 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl DoubleEndedIterator for Drain<'_>\"],\n- [\"impl<'a, K, V> DoubleEndedIterator for IterMut<'a, K, V>\"],\n- [\"impl<'a, K, V> DoubleEndedIterator for Keys<'a, K, V>\"],\n- [\"impl<'a, K, V> DoubleEndedIterator for Range<'a, K, V>\"],\n- [\"impl<'a, K, V> DoubleEndedIterator for RangeMut<'a, K, V>\"],\n- [\"impl<'a, K, V> DoubleEndedIterator for Values<'a, K, V>\"],\n- [\"impl<'a, K, V> DoubleEndedIterator for ValuesMut<'a, K, V>\"],\n- [\"impl<'a, K: 'a, V: 'a> DoubleEndedIterator for Iter<'a, K, V>\"],\n- [\"impl<'a, T> DoubleEndedIterator for Iter<'a, T>\"],\n- [\"impl<'a, T> DoubleEndedIterator for Iter<'a, T>\"],\n- [\"impl<'a, T> DoubleEndedIterator for Range<'a, T>\"],\n- [\"impl<'a, T> DoubleEndedIterator for Iter<'a, T>\"],\n- [\"impl<'a, T> DoubleEndedIterator for IterMut<'a, T>\"],\n- [\"impl<'a, T> DoubleEndedIterator for Iter<'a, T>\"],\n- [\"impl<'a, T> DoubleEndedIterator for IterMut<'a, T>\"],\n- [\"impl<I: DoubleEndedIterator + ?Sized, A: Allocator> DoubleEndedIterator for Box<I, A>\"],\n- [\"impl<I: Iterator, A: Allocator> DoubleEndedIterator for Splice<'_, I, A>\"],\n- [\"impl<K, V, A: Allocator + Clone> DoubleEndedIterator for IntoIter<K, V, A>\"],\n- [\"impl<K, V, A: Allocator + Clone> DoubleEndedIterator for IntoKeys<K, V, A>\"],\n- [\"impl<K, V, A: Allocator + Clone> DoubleEndedIterator for IntoValues<K, V, A>\"],\n- [\"impl<T, A: Allocator + Clone> DoubleEndedIterator for IntoIter<T, A>\"],\n- [\"impl<T, A: Allocator> DoubleEndedIterator for Drain<'_, T, A>\"],\n- [\"impl<T, A: Allocator> DoubleEndedIterator for IntoIter<T, A>\"],\n- [\"impl<T, A: Allocator> DoubleEndedIterator for IntoIter<T, A>\"],\n- [\"impl<T, A: Allocator> DoubleEndedIterator for Drain<'_, T, A>\"],\n- [\"impl<T, A: Allocator> DoubleEndedIterator for IntoIter<T, A>\"],\n- [\"impl<T, A: Allocator> DoubleEndedIterator for Drain<'_, T, A>\"],\n- [\"impl<T, A: Allocator> DoubleEndedIterator for IntoIter<T, A>\"]\n+ [\"impl DoubleEndedIterator for Drain<'_>\"],\n+ [\"impl<'a, K, V> DoubleEndedIterator for IterMut<'a, K, V>\"],\n+ [\"impl<'a, K, V> DoubleEndedIterator for Keys<'a, K, V>\"],\n+ [\"impl<'a, K, V> DoubleEndedIterator for Range<'a, K, V>\"],\n+ [\"impl<'a, K, V> DoubleEndedIterator for RangeMut<'a, K, V>\"],\n+ [\"impl<'a, K, V> DoubleEndedIterator for Values<'a, K, V>\"],\n+ [\"impl<'a, K, V> DoubleEndedIterator for ValuesMut<'a, K, V>\"],\n+ [\"impl<'a, K: 'a, V: 'a> DoubleEndedIterator for Iter<'a, K, V>\"],\n+ [\"impl<'a, T> DoubleEndedIterator for Iter<'a, T>\"],\n+ [\"impl<'a, T> DoubleEndedIterator for Iter<'a, T>\"],\n+ [\"impl<'a, T> DoubleEndedIterator for Range<'a, T>\"],\n+ [\"impl<'a, T> DoubleEndedIterator for Iter<'a, T>\"],\n+ [\"impl<'a, T> DoubleEndedIterator for IterMut<'a, T>\"],\n+ [\"impl<'a, T> DoubleEndedIterator for Iter<'a, T>\"],\n+ [\"impl<'a, T> DoubleEndedIterator for IterMut<'a, T>\"],\n+ [\"impl<I: DoubleEndedIterator + ?Sized, A: Allocator> DoubleEndedIterator for Box<I, A>\"],\n+ [\"impl<I: Iterator, A: Allocator> DoubleEndedIterator for Splice<'_, I, A>\"],\n+ [\"impl<K, V, A: Allocator + Clone> DoubleEndedIterator for IntoIter<K, V, A>\"],\n+ [\"impl<K, V, A: Allocator + Clone> DoubleEndedIterator for IntoKeys<K, V, A>\"],\n+ [\"impl<K, V, A: Allocator + Clone> DoubleEndedIterator for IntoValues<K, V, A>\"],\n+ [\"impl<T, A: Allocator + Clone> DoubleEndedIterator for IntoIter<T, A>\"],\n+ [\"impl<T, A: Allocator> DoubleEndedIterator for Drain<'_, T, A>\"],\n+ [\"impl<T, A: Allocator> DoubleEndedIterator for IntoIter<T, A>\"],\n+ [\"impl<T, A: Allocator> DoubleEndedIterator for IntoIter<T, A>\"],\n+ [\"impl<T, A: Allocator> DoubleEndedIterator for Drain<'_, T, A>\"],\n+ [\"impl<T, A: Allocator> DoubleEndedIterator for IntoIter<T, A>\"],\n+ [\"impl<T, A: Allocator> DoubleEndedIterator for Drain<'_, T, A>\"],\n+ [\"impl<T, A: Allocator> DoubleEndedIterator for IntoIter<T, A>\"]\n ],\n \"core\": [],\n \"std\": [\n [\"impl DoubleEndedIterator for Args\"],\n [\"impl DoubleEndedIterator for ArgsOs\"],\n [\"impl<'a> DoubleEndedIterator for Components<'a>\"],\n [\"impl<'a> DoubleEndedIterator for Iter<'a>\"]\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/exact_size/trait.ExactSizeIterator.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/exact_size/trait.ExactSizeIterator.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,36 +1,36 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl<I: ExactSizeIterator + ?Sized, A: Allocator> ExactSizeIterator for Box<I, A>\"],\n- [\"impl<I: Iterator, A: Allocator> ExactSizeIterator for Splice<'_, I, A>\"],\n- [\"impl<K, V> ExactSizeIterator for Iter<'_, K, V>\"],\n- [\"impl<K, V> ExactSizeIterator for IterMut<'_, K, V>\"],\n- [\"impl<K, V> ExactSizeIterator for Keys<'_, K, V>\"],\n- [\"impl<K, V> ExactSizeIterator for Values<'_, K, V>\"],\n- [\"impl<K, V> ExactSizeIterator for ValuesMut<'_, K, V>\"],\n- [\"impl<K, V, A: Allocator + Clone> ExactSizeIterator for IntoIter<K, V, A>\"],\n- [\"impl<K, V, A: Allocator + Clone> ExactSizeIterator for IntoKeys<K, V, A>\"],\n- [\"impl<K, V, A: Allocator + Clone> ExactSizeIterator for IntoValues<K, V, A>\"],\n- [\"impl<T> ExactSizeIterator for Iter<'_, T>\"],\n- [\"impl<T> ExactSizeIterator for Iter<'_, T>\"],\n- [\"impl<T> ExactSizeIterator for Iter<'_, T>\"],\n- [\"impl<T> ExactSizeIterator for IterMut<'_, T>\"],\n- [\"impl<T> ExactSizeIterator for Iter<'_, T>\"],\n- [\"impl<T> ExactSizeIterator for IterMut<'_, T>\"],\n- [\"impl<T, A: Allocator + Clone> ExactSizeIterator for IntoIter<T, A>\"],\n- [\"impl<T, A: Allocator> ExactSizeIterator for Drain<'_, T, A>\"],\n- [\"impl<T, A: Allocator> ExactSizeIterator for IntoIter<T, A>\"],\n- [\"impl<T, A: Allocator> ExactSizeIterator for IntoIter<T, A>\"],\n- [\"impl<T, A: Allocator> ExactSizeIterator for Drain<'_, T, A>\"],\n- [\"impl<T, A: Allocator> ExactSizeIterator for IntoIter<T, A>\"],\n- [\"impl<T, A: Allocator> ExactSizeIterator for Drain<'_, T, A>\"],\n- [\"impl<T, A: Allocator> ExactSizeIterator for IntoIter<T, A>\"],\n- [\"impl<T: Ord, A: Allocator> ExactSizeIterator for DrainSorted<'_, T, A>\"],\n- [\"impl<T: Ord, A: Allocator> ExactSizeIterator for IntoIterSorted<T, A>\"]\n+ [\"impl<I: ExactSizeIterator + ?Sized, A: Allocator> ExactSizeIterator for Box<I, A>\"],\n+ [\"impl<I: Iterator, A: Allocator> ExactSizeIterator for Splice<'_, I, A>\"],\n+ [\"impl<K, V> ExactSizeIterator for Iter<'_, K, V>\"],\n+ [\"impl<K, V> ExactSizeIterator for IterMut<'_, K, V>\"],\n+ [\"impl<K, V> ExactSizeIterator for Keys<'_, K, V>\"],\n+ [\"impl<K, V> ExactSizeIterator for Values<'_, K, V>\"],\n+ [\"impl<K, V> ExactSizeIterator for ValuesMut<'_, K, V>\"],\n+ [\"impl<K, V, A: Allocator + Clone> ExactSizeIterator for IntoIter<K, V, A>\"],\n+ [\"impl<K, V, A: Allocator + Clone> ExactSizeIterator for IntoKeys<K, V, A>\"],\n+ [\"impl<K, V, A: Allocator + Clone> ExactSizeIterator for IntoValues<K, V, A>\"],\n+ [\"impl<T> ExactSizeIterator for Iter<'_, T>\"],\n+ [\"impl<T> ExactSizeIterator for Iter<'_, T>\"],\n+ [\"impl<T> ExactSizeIterator for Iter<'_, T>\"],\n+ [\"impl<T> ExactSizeIterator for IterMut<'_, T>\"],\n+ [\"impl<T> ExactSizeIterator for Iter<'_, T>\"],\n+ [\"impl<T> ExactSizeIterator for IterMut<'_, T>\"],\n+ [\"impl<T, A: Allocator + Clone> ExactSizeIterator for IntoIter<T, A>\"],\n+ [\"impl<T, A: Allocator> ExactSizeIterator for Drain<'_, T, A>\"],\n+ [\"impl<T, A: Allocator> ExactSizeIterator for IntoIter<T, A>\"],\n+ [\"impl<T, A: Allocator> ExactSizeIterator for IntoIter<T, A>\"],\n+ [\"impl<T, A: Allocator> ExactSizeIterator for Drain<'_, T, A>\"],\n+ [\"impl<T, A: Allocator> ExactSizeIterator for IntoIter<T, A>\"],\n+ [\"impl<T, A: Allocator> ExactSizeIterator for Drain<'_, T, A>\"],\n+ [\"impl<T, A: Allocator> ExactSizeIterator for IntoIter<T, A>\"],\n+ [\"impl<T: Ord, A: Allocator> ExactSizeIterator for DrainSorted<'_, T, A>\"],\n+ [\"impl<T: Ord, A: Allocator> ExactSizeIterator for IntoIterSorted<T, A>\"]\n ],\n \"core\": [],\n \"std\": [\n [\"impl ExactSizeIterator for Args\"],\n [\"impl ExactSizeIterator for ArgsOs\"],\n [\"impl<'a> ExactSizeIterator for CommandArgs<'a>\"],\n [\"impl<'a> ExactSizeIterator for CommandEnvs<'a>\"],\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/iterator/trait.Iterator.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/iterator/trait.Iterator.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,48 +1,48 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl Iterator for Drain<'_>\"],\n- [\"impl<'a, K, V> Iterator for IterMut<'a, K, V>\"],\n- [\"impl<'a, K, V> Iterator for Keys<'a, K, V>\"],\n- [\"impl<'a, K, V> Iterator for Range<'a, K, V>\"],\n- [\"impl<'a, K, V> Iterator for RangeMut<'a, K, V>\"],\n- [\"impl<'a, K, V> Iterator for Values<'a, K, V>\"],\n- [\"impl<'a, K, V> Iterator for ValuesMut<'a, K, V>\"],\n- [\"impl<'a, K: 'a, V: 'a> Iterator for Iter<'a, K, V>\"],\n- [\"impl<'a, T> Iterator for Iter<'a, T>\"],\n- [\"impl<'a, T> Iterator for Iter<'a, T>\"],\n- [\"impl<'a, T> Iterator for Range<'a, T>\"],\n- [\"impl<'a, T> Iterator for Iter<'a, T>\"],\n- [\"impl<'a, T> Iterator for IterMut<'a, T>\"],\n- [\"impl<'a, T> Iterator for Iter<'a, T>\"],\n- [\"impl<'a, T> Iterator for IterMut<'a, T>\"],\n- [\"impl<'a, T, F, A: Allocator + Clone> Iterator for ExtractIf<'_, T, F, A>
      where\\n F: 'a + FnMut(&T) -> bool,
      \"],\n- [\"impl<'a, T: Ord> Iterator for SymmetricDifference<'a, T>\"],\n- [\"impl<'a, T: Ord> Iterator for Union<'a, T>\"],\n- [\"impl<'a, T: Ord, A: Allocator + Clone> Iterator for Difference<'a, T, A>\"],\n- [\"impl<'a, T: Ord, A: Allocator + Clone> Iterator for Intersection<'a, T, A>\"],\n- [\"impl<I: Iterator + ?Sized, A: Allocator> Iterator for Box<I, A>\"],\n- [\"impl<I: Iterator, A: Allocator> Iterator for Splice<'_, I, A>\"],\n- [\"impl<K, V, A: Allocator + Clone> Iterator for IntoIter<K, V, A>\"],\n- [\"impl<K, V, A: Allocator + Clone> Iterator for IntoKeys<K, V, A>\"],\n- [\"impl<K, V, A: Allocator + Clone> Iterator for IntoValues<K, V, A>\"],\n- [\"impl<K, V, F, A: Allocator + Clone> Iterator for ExtractIf<'_, K, V, F, A>
      where\\n F: FnMut(&K, &mut V) -> bool,
      \"],\n- [\"impl<T, A: Allocator + Clone> Iterator for IntoIter<T, A>\"],\n- [\"impl<T, A: Allocator> Iterator for Drain<'_, T, A>\"],\n- [\"impl<T, A: Allocator> Iterator for IntoIter<T, A>\"],\n- [\"impl<T, A: Allocator> Iterator for IntoIter<T, A>\"],\n- [\"impl<T, A: Allocator> Iterator for Drain<'_, T, A>\"],\n- [\"impl<T, A: Allocator> Iterator for IntoIter<T, A>\"],\n- [\"impl<T, A: Allocator> Iterator for Drain<'_, T, A>\"],\n- [\"impl<T, A: Allocator> Iterator for IntoIter<T, A>\"],\n- [\"impl<T, F, A: Allocator> Iterator for ExtractIf<'_, T, F, A>
      where\\n F: FnMut(&mut T) -> bool,
      \"],\n- [\"impl<T, F, A: Allocator> Iterator for ExtractIf<'_, T, F, A>
      where\\n F: FnMut(&mut T) -> bool,
      \"],\n- [\"impl<T: Ord, A: Allocator> Iterator for DrainSorted<'_, T, A>\"],\n- [\"impl<T: Ord, A: Allocator> Iterator for IntoIterSorted<T, A>\"]\n+ [\"impl Iterator for Drain<'_>\"],\n+ [\"impl<'a, K, V> Iterator for IterMut<'a, K, V>\"],\n+ [\"impl<'a, K, V> Iterator for Keys<'a, K, V>\"],\n+ [\"impl<'a, K, V> Iterator for Range<'a, K, V>\"],\n+ [\"impl<'a, K, V> Iterator for RangeMut<'a, K, V>\"],\n+ [\"impl<'a, K, V> Iterator for Values<'a, K, V>\"],\n+ [\"impl<'a, K, V> Iterator for ValuesMut<'a, K, V>\"],\n+ [\"impl<'a, K: 'a, V: 'a> Iterator for Iter<'a, K, V>\"],\n+ [\"impl<'a, T> Iterator for Iter<'a, T>\"],\n+ [\"impl<'a, T> Iterator for Iter<'a, T>\"],\n+ [\"impl<'a, T> Iterator for Range<'a, T>\"],\n+ [\"impl<'a, T> Iterator for Iter<'a, T>\"],\n+ [\"impl<'a, T> Iterator for IterMut<'a, T>\"],\n+ [\"impl<'a, T> Iterator for Iter<'a, T>\"],\n+ [\"impl<'a, T> Iterator for IterMut<'a, T>\"],\n+ [\"impl<'a, T, F, A: Allocator + Clone> Iterator for ExtractIf<'_, T, F, A>
      where\\n F: 'a + FnMut(&T) -> bool,
      \"],\n+ [\"impl<'a, T: Ord> Iterator for SymmetricDifference<'a, T>\"],\n+ [\"impl<'a, T: Ord> Iterator for Union<'a, T>\"],\n+ [\"impl<'a, T: Ord, A: Allocator + Clone> Iterator for Difference<'a, T, A>\"],\n+ [\"impl<'a, T: Ord, A: Allocator + Clone> Iterator for Intersection<'a, T, A>\"],\n+ [\"impl<I: Iterator + ?Sized, A: Allocator> Iterator for Box<I, A>\"],\n+ [\"impl<I: Iterator, A: Allocator> Iterator for Splice<'_, I, A>\"],\n+ [\"impl<K, V, A: Allocator + Clone> Iterator for IntoIter<K, V, A>\"],\n+ [\"impl<K, V, A: Allocator + Clone> Iterator for IntoKeys<K, V, A>\"],\n+ [\"impl<K, V, A: Allocator + Clone> Iterator for IntoValues<K, V, A>\"],\n+ [\"impl<K, V, F, A: Allocator + Clone> Iterator for ExtractIf<'_, K, V, F, A>
      where\\n F: FnMut(&K, &mut V) -> bool,
      \"],\n+ [\"impl<T, A: Allocator + Clone> Iterator for IntoIter<T, A>\"],\n+ [\"impl<T, A: Allocator> Iterator for Drain<'_, T, A>\"],\n+ [\"impl<T, A: Allocator> Iterator for IntoIter<T, A>\"],\n+ [\"impl<T, A: Allocator> Iterator for IntoIter<T, A>\"],\n+ [\"impl<T, A: Allocator> Iterator for Drain<'_, T, A>\"],\n+ [\"impl<T, A: Allocator> Iterator for IntoIter<T, A>\"],\n+ [\"impl<T, A: Allocator> Iterator for Drain<'_, T, A>\"],\n+ [\"impl<T, A: Allocator> Iterator for IntoIter<T, A>\"],\n+ [\"impl<T, F, A: Allocator> Iterator for ExtractIf<'_, T, F, A>
      where\\n F: FnMut(&mut T) -> bool,
      \"],\n+ [\"impl<T, F, A: Allocator> Iterator for ExtractIf<'_, T, F, A>
      where\\n F: FnMut(&mut T) -> bool,
      \"],\n+ [\"impl<T: Ord, A: Allocator> Iterator for DrainSorted<'_, T, A>\"],\n+ [\"impl<T: Ord, A: Allocator> Iterator for IntoIterSorted<T, A>\"]\n ],\n \"core\": [],\n \"proc_macro\": [\n [\"impl Iterator for IntoIter\"]\n ],\n \"std\": [\n [\"impl Iterator for Args\"],\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/marker/trait.FusedIterator.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/marker/trait.FusedIterator.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,45 +1,45 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl FusedIterator for Drain<'_>\"],\n- [\"impl<I: FusedIterator + ?Sized, A: Allocator> FusedIterator for Box<I, A>\"],\n- [\"impl<K, V> FusedIterator for Iter<'_, K, V>\"],\n- [\"impl<K, V> FusedIterator for IterMut<'_, K, V>\"],\n- [\"impl<K, V> FusedIterator for Keys<'_, K, V>\"],\n- [\"impl<K, V> FusedIterator for Range<'_, K, V>\"],\n- [\"impl<K, V> FusedIterator for RangeMut<'_, K, V>\"],\n- [\"impl<K, V> FusedIterator for Values<'_, K, V>\"],\n- [\"impl<K, V> FusedIterator for ValuesMut<'_, K, V>\"],\n- [\"impl<K, V, A: Allocator + Clone> FusedIterator for IntoIter<K, V, A>\"],\n- [\"impl<K, V, A: Allocator + Clone> FusedIterator for IntoKeys<K, V, A>\"],\n- [\"impl<K, V, A: Allocator + Clone> FusedIterator for IntoValues<K, V, A>\"],\n- [\"impl<K, V, F> FusedIterator for ExtractIf<'_, K, V, F>
      where\\n F: FnMut(&K, &mut V) -> bool,
      \"],\n- [\"impl<T> FusedIterator for Iter<'_, T>\"],\n- [\"impl<T> FusedIterator for Iter<'_, T>\"],\n- [\"impl<T> FusedIterator for Range<'_, T>\"],\n- [\"impl<T> FusedIterator for Iter<'_, T>\"],\n- [\"impl<T> FusedIterator for IterMut<'_, T>\"],\n- [\"impl<T> FusedIterator for Iter<'_, T>\"],\n- [\"impl<T> FusedIterator for IterMut<'_, T>\"],\n- [\"impl<T, A: Allocator + Clone> FusedIterator for IntoIter<T, A>\"],\n- [\"impl<T, A: Allocator> FusedIterator for Drain<'_, T, A>\"],\n- [\"impl<T, A: Allocator> FusedIterator for IntoIter<T, A>\"],\n- [\"impl<T, A: Allocator> FusedIterator for IntoIter<T, A>\"],\n- [\"impl<T, A: Allocator> FusedIterator for Drain<'_, T, A>\"],\n- [\"impl<T, A: Allocator> FusedIterator for IntoIter<T, A>\"],\n- [\"impl<T, A: Allocator> FusedIterator for Drain<'_, T, A>\"],\n- [\"impl<T, A: Allocator> FusedIterator for IntoIter<T, A>\"],\n- [\"impl<T, F, A: Allocator + Clone> FusedIterator for ExtractIf<'_, T, F, A>
      where\\n F: FnMut(&T) -> bool,
      \"],\n- [\"impl<T: Ord> FusedIterator for SymmetricDifference<'_, T>\"],\n- [\"impl<T: Ord> FusedIterator for Union<'_, T>\"],\n- [\"impl<T: Ord, A: Allocator + Clone> FusedIterator for Difference<'_, T, A>\"],\n- [\"impl<T: Ord, A: Allocator + Clone> FusedIterator for Intersection<'_, T, A>\"],\n- [\"impl<T: Ord, A: Allocator> FusedIterator for DrainSorted<'_, T, A>\"],\n- [\"impl<T: Ord, A: Allocator> FusedIterator for IntoIterSorted<T, A>\"]\n+ [\"impl FusedIterator for Drain<'_>\"],\n+ [\"impl<I: FusedIterator + ?Sized, A: Allocator> FusedIterator for Box<I, A>\"],\n+ [\"impl<K, V> FusedIterator for Iter<'_, K, V>\"],\n+ [\"impl<K, V> FusedIterator for IterMut<'_, K, V>\"],\n+ [\"impl<K, V> FusedIterator for Keys<'_, K, V>\"],\n+ [\"impl<K, V> FusedIterator for Range<'_, K, V>\"],\n+ [\"impl<K, V> FusedIterator for RangeMut<'_, K, V>\"],\n+ [\"impl<K, V> FusedIterator for Values<'_, K, V>\"],\n+ [\"impl<K, V> FusedIterator for ValuesMut<'_, K, V>\"],\n+ [\"impl<K, V, A: Allocator + Clone> FusedIterator for IntoIter<K, V, A>\"],\n+ [\"impl<K, V, A: Allocator + Clone> FusedIterator for IntoKeys<K, V, A>\"],\n+ [\"impl<K, V, A: Allocator + Clone> FusedIterator for IntoValues<K, V, A>\"],\n+ [\"impl<K, V, F> FusedIterator for ExtractIf<'_, K, V, F>
      where\\n F: FnMut(&K, &mut V) -> bool,
      \"],\n+ [\"impl<T> FusedIterator for Iter<'_, T>\"],\n+ [\"impl<T> FusedIterator for Iter<'_, T>\"],\n+ [\"impl<T> FusedIterator for Range<'_, T>\"],\n+ [\"impl<T> FusedIterator for Iter<'_, T>\"],\n+ [\"impl<T> FusedIterator for IterMut<'_, T>\"],\n+ [\"impl<T> FusedIterator for Iter<'_, T>\"],\n+ [\"impl<T> FusedIterator for IterMut<'_, T>\"],\n+ [\"impl<T, A: Allocator + Clone> FusedIterator for IntoIter<T, A>\"],\n+ [\"impl<T, A: Allocator> FusedIterator for Drain<'_, T, A>\"],\n+ [\"impl<T, A: Allocator> FusedIterator for IntoIter<T, A>\"],\n+ [\"impl<T, A: Allocator> FusedIterator for IntoIter<T, A>\"],\n+ [\"impl<T, A: Allocator> FusedIterator for Drain<'_, T, A>\"],\n+ [\"impl<T, A: Allocator> FusedIterator for IntoIter<T, A>\"],\n+ [\"impl<T, A: Allocator> FusedIterator for Drain<'_, T, A>\"],\n+ [\"impl<T, A: Allocator> FusedIterator for IntoIter<T, A>\"],\n+ [\"impl<T, F, A: Allocator + Clone> FusedIterator for ExtractIf<'_, T, F, A>
      where\\n F: FnMut(&T) -> bool,
      \"],\n+ [\"impl<T: Ord> FusedIterator for SymmetricDifference<'_, T>\"],\n+ [\"impl<T: Ord> FusedIterator for Union<'_, T>\"],\n+ [\"impl<T: Ord, A: Allocator + Clone> FusedIterator for Difference<'_, T, A>\"],\n+ [\"impl<T: Ord, A: Allocator + Clone> FusedIterator for Intersection<'_, T, A>\"],\n+ [\"impl<T: Ord, A: Allocator> FusedIterator for DrainSorted<'_, T, A>\"],\n+ [\"impl<T: Ord, A: Allocator> FusedIterator for IntoIterSorted<T, A>\"]\n ],\n \"core\": [],\n \"std\": [\n [\"impl FusedIterator for Incoming<'_>\"],\n [\"impl FusedIterator for IntoIncoming\"],\n [\"impl FusedIterator for EncodeWide<'_>\"],\n [\"impl FusedIterator for Ancestors<'_>\"],\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/marker/trait.TrustedLen.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/iter/traits/marker/trait.TrustedLen.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,17 +1,17 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl<T> TrustedLen for Iter<'_, T>\"],\n- [\"impl<T> TrustedLen for IterMut<'_, T>\"],\n- [\"impl<T, A: Allocator> TrustedLen for IntoIter<T, A>\"],\n- [\"impl<T, A: Allocator> TrustedLen for Drain<'_, T, A>\"],\n- [\"impl<T, A: Allocator> TrustedLen for IntoIter<T, A>\"],\n- [\"impl<T: Ord, A: Allocator> TrustedLen for DrainSorted<'_, T, A>\"],\n- [\"impl<T: Ord, A: Allocator> TrustedLen for IntoIterSorted<T, A>\"]\n+ [\"impl<T> TrustedLen for Iter<'_, T>\"],\n+ [\"impl<T> TrustedLen for IterMut<'_, T>\"],\n+ [\"impl<T, A: Allocator> TrustedLen for IntoIter<T, A>\"],\n+ [\"impl<T, A: Allocator> TrustedLen for Drain<'_, T, A>\"],\n+ [\"impl<T, A: Allocator> TrustedLen for IntoIter<T, A>\"],\n+ [\"impl<T: Ord, A: Allocator> TrustedLen for DrainSorted<'_, T, A>\"],\n+ [\"impl<T: Ord, A: Allocator> TrustedLen for IntoIterSorted<T, A>\"]\n ],\n \"core\": [],\n \"std\": []\n };\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.Copy.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.Copy.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,11 +1,11 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl Copy for Global\"]\n+ [\"impl Copy for Global\"]\n ],\n \"core\": [],\n \"proc_macro\": [\n [\"impl Copy for Delimiter\"],\n [\"impl Copy for Level\"],\n [\"impl Copy for Spacing\"],\n [\"impl Copy for Span\"]\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.Freeze.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.Freeze.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,82 +1,82 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl Freeze for TryReserveErrorKind\", 1, [\"alloc::collections::TryReserveErrorKind\"]],\n- [\"impl Freeze for Global\", 1, [\"alloc::alloc::Global\"]],\n- [\"impl Freeze for UnorderedKeyError\", 1, [\"alloc::collections::btree::map::UnorderedKeyError\"]],\n- [\"impl Freeze for TryReserveError\", 1, [\"alloc::collections::TryReserveError\"]],\n- [\"impl Freeze for FromVecWithNulError\", 1, [\"alloc::ffi::c_str::FromVecWithNulError\"]],\n- [\"impl Freeze for IntoStringError\", 1, [\"alloc::ffi::c_str::IntoStringError\"]],\n- [\"impl Freeze for NulError\", 1, [\"alloc::ffi::c_str::NulError\"]],\n- [\"impl Freeze for CString\", 1, [\"alloc::ffi::c_str::CString\"]],\n- [\"impl Freeze for FromUtf16Error\", 1, [\"alloc::string::FromUtf16Error\"]],\n- [\"impl Freeze for FromUtf8Error\", 1, [\"alloc::string::FromUtf8Error\"]],\n- [\"impl Freeze for String\", 1, [\"alloc::string::String\"]],\n- [\"impl<'a> Freeze for Drain<'a>\", 1, [\"alloc::string::Drain\"]],\n- [\"impl<'a, B: ?Sized> Freeze for Cow<'a, B>
      where\\n <B as ToOwned>::Owned: Freeze,
      \", 1, [\"alloc::borrow::Cow\"]],\n- [\"impl<'a, I, A> Freeze for Splice<'a, I, A>
      where\\n I: Freeze,
      \", 1, [\"alloc::vec::splice::Splice\"]],\n- [\"impl<'a, K, V> Freeze for Cursor<'a, K, V>\", 1, [\"alloc::collections::btree::map::Cursor\"]],\n- [\"impl<'a, K, V> Freeze for Iter<'a, K, V>\", 1, [\"alloc::collections::btree::map::Iter\"]],\n- [\"impl<'a, K, V> Freeze for IterMut<'a, K, V>\", 1, [\"alloc::collections::btree::map::IterMut\"]],\n- [\"impl<'a, K, V> Freeze for Keys<'a, K, V>\", 1, [\"alloc::collections::btree::map::Keys\"]],\n- [\"impl<'a, K, V> Freeze for Range<'a, K, V>\", 1, [\"alloc::collections::btree::map::Range\"]],\n- [\"impl<'a, K, V> Freeze for RangeMut<'a, K, V>\", 1, [\"alloc::collections::btree::map::RangeMut\"]],\n- [\"impl<'a, K, V> Freeze for Values<'a, K, V>\", 1, [\"alloc::collections::btree::map::Values\"]],\n- [\"impl<'a, K, V> Freeze for ValuesMut<'a, K, V>\", 1, [\"alloc::collections::btree::map::ValuesMut\"]],\n- [\"impl<'a, K, V, A> Freeze for Entry<'a, K, V, A>
      where\\n A: Freeze,\\n K: Freeze,
      \", 1, [\"alloc::collections::btree::map::entry::Entry\"]],\n- [\"impl<'a, K, V, A> Freeze for CursorMut<'a, K, V, A>\", 1, [\"alloc::collections::btree::map::CursorMut\"]],\n- [\"impl<'a, K, V, A> Freeze for CursorMutKey<'a, K, V, A>\", 1, [\"alloc::collections::btree::map::CursorMutKey\"]],\n- [\"impl<'a, K, V, A> Freeze for OccupiedEntry<'a, K, V, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedEntry\"]],\n- [\"impl<'a, K, V, A> Freeze for OccupiedError<'a, K, V, A>
      where\\n A: Freeze,\\n V: Freeze,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedError\"]],\n- [\"impl<'a, K, V, A> Freeze for VacantEntry<'a, K, V, A>
      where\\n A: Freeze,\\n K: Freeze,
      \", 1, [\"alloc::collections::btree::map::entry::VacantEntry\"]],\n- [\"impl<'a, K, V, F, A> Freeze for ExtractIf<'a, K, V, F, A>
      where\\n A: Freeze,\\n F: Freeze,
      \", 1, [\"alloc::collections::btree::map::ExtractIf\"]],\n- [\"impl<'a, T> Freeze for Iter<'a, T>\", 1, [\"alloc::collections::binary_heap::Iter\"]],\n- [\"impl<'a, T> Freeze for Iter<'a, T>\", 1, [\"alloc::collections::btree::set::Iter\"]],\n- [\"impl<'a, T> Freeze for Range<'a, T>\", 1, [\"alloc::collections::btree::set::Range\"]],\n- [\"impl<'a, T> Freeze for SymmetricDifference<'a, T>\", 1, [\"alloc::collections::btree::set::SymmetricDifference\"]],\n- [\"impl<'a, T> Freeze for Union<'a, T>\", 1, [\"alloc::collections::btree::set::Union\"]],\n- [\"impl<'a, T> Freeze for Iter<'a, T>\", 1, [\"alloc::collections::linked_list::Iter\"]],\n- [\"impl<'a, T> Freeze for IterMut<'a, T>\", 1, [\"alloc::collections::linked_list::IterMut\"]],\n- [\"impl<'a, T> Freeze for Iter<'a, T>\", 1, [\"alloc::collections::vec_deque::iter::Iter\"]],\n- [\"impl<'a, T> Freeze for IterMut<'a, T>\", 1, [\"alloc::collections::vec_deque::iter_mut::IterMut\"]],\n- [\"impl<'a, T, A> Freeze for Drain<'a, T, A>\", 1, [\"alloc::collections::binary_heap::Drain\"]],\n- [\"impl<'a, T, A> Freeze for DrainSorted<'a, T, A>\", 1, [\"alloc::collections::binary_heap::DrainSorted\"]],\n- [\"impl<'a, T, A> Freeze for PeekMut<'a, T, A>\", 1, [\"alloc::collections::binary_heap::PeekMut\"]],\n- [\"impl<'a, T, A> Freeze for Difference<'a, T, A>\", 1, [\"alloc::collections::btree::set::Difference\"]],\n- [\"impl<'a, T, A> Freeze for Intersection<'a, T, A>\", 1, [\"alloc::collections::btree::set::Intersection\"]],\n- [\"impl<'a, T, A> Freeze for Cursor<'a, T, A>\", 1, [\"alloc::collections::linked_list::Cursor\"]],\n- [\"impl<'a, T, A> Freeze for CursorMut<'a, T, A>\", 1, [\"alloc::collections::linked_list::CursorMut\"]],\n- [\"impl<'a, T, A> Freeze for Drain<'a, T, A>\", 1, [\"alloc::collections::vec_deque::drain::Drain\"]],\n- [\"impl<'a, T, A> Freeze for Drain<'a, T, A>\", 1, [\"alloc::vec::drain::Drain\"]],\n- [\"impl<'a, T, F, A> Freeze for ExtractIf<'a, T, F, A>
      where\\n A: Freeze,\\n F: Freeze,
      \", 1, [\"alloc::collections::btree::set::ExtractIf\"]],\n- [\"impl<'a, T, F, A> Freeze for ExtractIf<'a, T, F, A>
      where\\n F: Freeze,
      \", 1, [\"alloc::collections::linked_list::ExtractIf\"]],\n- [\"impl<'a, T, F, A> Freeze for ExtractIf<'a, T, F, A>
      where\\n F: Freeze,
      \", 1, [\"alloc::vec::extract_if::ExtractIf\"]],\n- [\"impl<K, V, A> Freeze for BTreeMap<K, V, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::btree::map::BTreeMap\"]],\n- [\"impl<K, V, A> Freeze for IntoIter<K, V, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::btree::map::IntoIter\"]],\n- [\"impl<K, V, A> Freeze for IntoKeys<K, V, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::btree::map::IntoKeys\"]],\n- [\"impl<K, V, A> Freeze for IntoValues<K, V, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::btree::map::IntoValues\"]],\n- [\"impl<T> Freeze for UniqueRc<T>\", 1, [\"alloc::rc::UniqueRc\"]],\n- [\"impl<T, A> Freeze for BinaryHeap<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::binary_heap::BinaryHeap\"]],\n- [\"impl<T, A> Freeze for IntoIter<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::binary_heap::IntoIter\"]],\n- [\"impl<T, A> Freeze for IntoIterSorted<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::binary_heap::IntoIterSorted\"]],\n- [\"impl<T, A> Freeze for BTreeSet<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::btree::set::BTreeSet\"]],\n- [\"impl<T, A> Freeze for IntoIter<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::btree::set::IntoIter\"]],\n- [\"impl<T, A> Freeze for IntoIter<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::linked_list::IntoIter\"]],\n- [\"impl<T, A> Freeze for LinkedList<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::linked_list::LinkedList\"]],\n- [\"impl<T, A> Freeze for IntoIter<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::vec_deque::into_iter::IntoIter\"]],\n- [\"impl<T, A> Freeze for VecDeque<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::vec_deque::VecDeque\"]],\n- [\"impl<T, A> Freeze for IntoIter<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::vec::into_iter::IntoIter\"]],\n- [\"impl<T, A> Freeze for Vec<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::vec::Vec\"]],\n- [\"impl<T: ?Sized> Freeze for ThinBox<T>\", 1, [\"alloc::boxed::thin::ThinBox\"]],\n- [\"impl<T: ?Sized, A> Freeze for Box<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::boxed::Box\"]],\n- [\"impl<T: ?Sized, A> Freeze for Rc<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::rc::Rc\"]],\n- [\"impl<T: ?Sized, A> Freeze for Weak<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::rc::Weak\"]],\n- [\"impl<T: ?Sized, A> Freeze for Arc<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::sync::Arc\"]],\n- [\"impl<T: ?Sized, A> Freeze for Weak<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::sync::Weak\"]]\n+ [\"impl Freeze for TryReserveErrorKind\", 1, [\"alloc::collections::TryReserveErrorKind\"]],\n+ [\"impl Freeze for Global\", 1, [\"alloc::alloc::Global\"]],\n+ [\"impl Freeze for UnorderedKeyError\", 1, [\"alloc::collections::btree::map::UnorderedKeyError\"]],\n+ [\"impl Freeze for TryReserveError\", 1, [\"alloc::collections::TryReserveError\"]],\n+ [\"impl Freeze for FromVecWithNulError\", 1, [\"alloc::ffi::c_str::FromVecWithNulError\"]],\n+ [\"impl Freeze for IntoStringError\", 1, [\"alloc::ffi::c_str::IntoStringError\"]],\n+ [\"impl Freeze for NulError\", 1, [\"alloc::ffi::c_str::NulError\"]],\n+ [\"impl Freeze for CString\", 1, [\"alloc::ffi::c_str::CString\"]],\n+ [\"impl Freeze for FromUtf16Error\", 1, [\"alloc::string::FromUtf16Error\"]],\n+ [\"impl Freeze for FromUtf8Error\", 1, [\"alloc::string::FromUtf8Error\"]],\n+ [\"impl Freeze for String\", 1, [\"alloc::string::String\"]],\n+ [\"impl<'a> Freeze for Drain<'a>\", 1, [\"alloc::string::Drain\"]],\n+ [\"impl<'a, B: ?Sized> Freeze for Cow<'a, B>
      where\\n <B as ToOwned>::Owned: Freeze,
      \", 1, [\"alloc::borrow::Cow\"]],\n+ [\"impl<'a, I, A> Freeze for Splice<'a, I, A>
      where\\n I: Freeze,
      \", 1, [\"alloc::vec::splice::Splice\"]],\n+ [\"impl<'a, K, V> Freeze for Cursor<'a, K, V>\", 1, [\"alloc::collections::btree::map::Cursor\"]],\n+ [\"impl<'a, K, V> Freeze for Iter<'a, K, V>\", 1, [\"alloc::collections::btree::map::Iter\"]],\n+ [\"impl<'a, K, V> Freeze for IterMut<'a, K, V>\", 1, [\"alloc::collections::btree::map::IterMut\"]],\n+ [\"impl<'a, K, V> Freeze for Keys<'a, K, V>\", 1, [\"alloc::collections::btree::map::Keys\"]],\n+ [\"impl<'a, K, V> Freeze for Range<'a, K, V>\", 1, [\"alloc::collections::btree::map::Range\"]],\n+ [\"impl<'a, K, V> Freeze for RangeMut<'a, K, V>\", 1, [\"alloc::collections::btree::map::RangeMut\"]],\n+ [\"impl<'a, K, V> Freeze for Values<'a, K, V>\", 1, [\"alloc::collections::btree::map::Values\"]],\n+ [\"impl<'a, K, V> Freeze for ValuesMut<'a, K, V>\", 1, [\"alloc::collections::btree::map::ValuesMut\"]],\n+ [\"impl<'a, K, V, A> Freeze for Entry<'a, K, V, A>
      where\\n A: Freeze,\\n K: Freeze,
      \", 1, [\"alloc::collections::btree::map::entry::Entry\"]],\n+ [\"impl<'a, K, V, A> Freeze for CursorMut<'a, K, V, A>\", 1, [\"alloc::collections::btree::map::CursorMut\"]],\n+ [\"impl<'a, K, V, A> Freeze for CursorMutKey<'a, K, V, A>\", 1, [\"alloc::collections::btree::map::CursorMutKey\"]],\n+ [\"impl<'a, K, V, A> Freeze for OccupiedEntry<'a, K, V, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedEntry\"]],\n+ [\"impl<'a, K, V, A> Freeze for OccupiedError<'a, K, V, A>
      where\\n A: Freeze,\\n V: Freeze,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedError\"]],\n+ [\"impl<'a, K, V, A> Freeze for VacantEntry<'a, K, V, A>
      where\\n A: Freeze,\\n K: Freeze,
      \", 1, [\"alloc::collections::btree::map::entry::VacantEntry\"]],\n+ [\"impl<'a, K, V, F, A> Freeze for ExtractIf<'a, K, V, F, A>
      where\\n A: Freeze,\\n F: Freeze,
      \", 1, [\"alloc::collections::btree::map::ExtractIf\"]],\n+ [\"impl<'a, T> Freeze for Iter<'a, T>\", 1, [\"alloc::collections::binary_heap::Iter\"]],\n+ [\"impl<'a, T> Freeze for Iter<'a, T>\", 1, [\"alloc::collections::btree::set::Iter\"]],\n+ [\"impl<'a, T> Freeze for Range<'a, T>\", 1, [\"alloc::collections::btree::set::Range\"]],\n+ [\"impl<'a, T> Freeze for SymmetricDifference<'a, T>\", 1, [\"alloc::collections::btree::set::SymmetricDifference\"]],\n+ [\"impl<'a, T> Freeze for Union<'a, T>\", 1, [\"alloc::collections::btree::set::Union\"]],\n+ [\"impl<'a, T> Freeze for Iter<'a, T>\", 1, [\"alloc::collections::linked_list::Iter\"]],\n+ [\"impl<'a, T> Freeze for IterMut<'a, T>\", 1, [\"alloc::collections::linked_list::IterMut\"]],\n+ [\"impl<'a, T> Freeze for Iter<'a, T>\", 1, [\"alloc::collections::vec_deque::iter::Iter\"]],\n+ [\"impl<'a, T> Freeze for IterMut<'a, T>\", 1, [\"alloc::collections::vec_deque::iter_mut::IterMut\"]],\n+ [\"impl<'a, T, A> Freeze for Drain<'a, T, A>\", 1, [\"alloc::collections::binary_heap::Drain\"]],\n+ [\"impl<'a, T, A> Freeze for DrainSorted<'a, T, A>\", 1, [\"alloc::collections::binary_heap::DrainSorted\"]],\n+ [\"impl<'a, T, A> Freeze for PeekMut<'a, T, A>\", 1, [\"alloc::collections::binary_heap::PeekMut\"]],\n+ [\"impl<'a, T, A> Freeze for Difference<'a, T, A>\", 1, [\"alloc::collections::btree::set::Difference\"]],\n+ [\"impl<'a, T, A> Freeze for Intersection<'a, T, A>\", 1, [\"alloc::collections::btree::set::Intersection\"]],\n+ [\"impl<'a, T, A> Freeze for Cursor<'a, T, A>\", 1, [\"alloc::collections::linked_list::Cursor\"]],\n+ [\"impl<'a, T, A> Freeze for CursorMut<'a, T, A>\", 1, [\"alloc::collections::linked_list::CursorMut\"]],\n+ [\"impl<'a, T, A> Freeze for Drain<'a, T, A>\", 1, [\"alloc::collections::vec_deque::drain::Drain\"]],\n+ [\"impl<'a, T, A> Freeze for Drain<'a, T, A>\", 1, [\"alloc::vec::drain::Drain\"]],\n+ [\"impl<'a, T, F, A> Freeze for ExtractIf<'a, T, F, A>
      where\\n A: Freeze,\\n F: Freeze,
      \", 1, [\"alloc::collections::btree::set::ExtractIf\"]],\n+ [\"impl<'a, T, F, A> Freeze for ExtractIf<'a, T, F, A>
      where\\n F: Freeze,
      \", 1, [\"alloc::collections::linked_list::ExtractIf\"]],\n+ [\"impl<'a, T, F, A> Freeze for ExtractIf<'a, T, F, A>
      where\\n F: Freeze,
      \", 1, [\"alloc::vec::extract_if::ExtractIf\"]],\n+ [\"impl<K, V, A> Freeze for BTreeMap<K, V, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::btree::map::BTreeMap\"]],\n+ [\"impl<K, V, A> Freeze for IntoIter<K, V, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::btree::map::IntoIter\"]],\n+ [\"impl<K, V, A> Freeze for IntoKeys<K, V, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::btree::map::IntoKeys\"]],\n+ [\"impl<K, V, A> Freeze for IntoValues<K, V, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::btree::map::IntoValues\"]],\n+ [\"impl<T> Freeze for UniqueRc<T>\", 1, [\"alloc::rc::UniqueRc\"]],\n+ [\"impl<T, A> Freeze for BinaryHeap<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::binary_heap::BinaryHeap\"]],\n+ [\"impl<T, A> Freeze for IntoIter<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::binary_heap::IntoIter\"]],\n+ [\"impl<T, A> Freeze for IntoIterSorted<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::binary_heap::IntoIterSorted\"]],\n+ [\"impl<T, A> Freeze for BTreeSet<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::btree::set::BTreeSet\"]],\n+ [\"impl<T, A> Freeze for IntoIter<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::btree::set::IntoIter\"]],\n+ [\"impl<T, A> Freeze for IntoIter<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::linked_list::IntoIter\"]],\n+ [\"impl<T, A> Freeze for LinkedList<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::linked_list::LinkedList\"]],\n+ [\"impl<T, A> Freeze for IntoIter<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::vec_deque::into_iter::IntoIter\"]],\n+ [\"impl<T, A> Freeze for VecDeque<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::collections::vec_deque::VecDeque\"]],\n+ [\"impl<T, A> Freeze for IntoIter<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::vec::into_iter::IntoIter\"]],\n+ [\"impl<T, A> Freeze for Vec<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::vec::Vec\"]],\n+ [\"impl<T: ?Sized> Freeze for ThinBox<T>\", 1, [\"alloc::boxed::thin::ThinBox\"]],\n+ [\"impl<T: ?Sized, A> Freeze for Box<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::boxed::Box\"]],\n+ [\"impl<T: ?Sized, A> Freeze for Rc<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::rc::Rc\"]],\n+ [\"impl<T: ?Sized, A> Freeze for Weak<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::rc::Weak\"]],\n+ [\"impl<T: ?Sized, A> Freeze for Arc<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::sync::Arc\"]],\n+ [\"impl<T: ?Sized, A> Freeze for Weak<T, A>
      where\\n A: Freeze,
      \", 1, [\"alloc::sync::Weak\"]]\n ],\n \"core\": [],\n \"proc_macro\": [\n [\"impl Freeze for Delimiter\", 1, [\"proc_macro::Delimiter\"]],\n [\"impl Freeze for Level\", 1, [\"proc_macro::diagnostic::Level\"]],\n [\"impl Freeze for Spacing\", 1, [\"proc_macro::Spacing\"]],\n [\"impl Freeze for TokenTree\", 1, [\"proc_macro::TokenTree\"]],\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.Send.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.Send.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,82 +1,82 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl Send for TryReserveErrorKind\", 1, [\"alloc::collections::TryReserveErrorKind\"]],\n- [\"impl Send for Global\", 1, [\"alloc::alloc::Global\"]],\n- [\"impl Send for UnorderedKeyError\", 1, [\"alloc::collections::btree::map::UnorderedKeyError\"]],\n- [\"impl Send for TryReserveError\", 1, [\"alloc::collections::TryReserveError\"]],\n- [\"impl Send for FromVecWithNulError\", 1, [\"alloc::ffi::c_str::FromVecWithNulError\"]],\n- [\"impl Send for IntoStringError\", 1, [\"alloc::ffi::c_str::IntoStringError\"]],\n- [\"impl Send for NulError\", 1, [\"alloc::ffi::c_str::NulError\"]],\n- [\"impl Send for CString\", 1, [\"alloc::ffi::c_str::CString\"]],\n- [\"impl Send for Drain<'_>\"],\n- [\"impl Send for FromUtf16Error\", 1, [\"alloc::string::FromUtf16Error\"]],\n- [\"impl Send for FromUtf8Error\", 1, [\"alloc::string::FromUtf8Error\"]],\n- [\"impl Send for String\", 1, [\"alloc::string::String\"]],\n- [\"impl<'a, B: ?Sized> Send for Cow<'a, B>
      where\\n B: Sync,\\n <B as ToOwned>::Owned: Send,
      \", 1, [\"alloc::borrow::Cow\"]],\n- [\"impl<'a, I, A> Send for Splice<'a, I, A>
      where\\n A: Send,\\n I: Send,\\n <I as Iterator>::Item: Send,
      \", 1, [\"alloc::vec::splice::Splice\"]],\n- [\"impl<'a, K, V> Send for Cursor<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::Cursor\"]],\n- [\"impl<'a, K, V> Send for Iter<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::Iter\"]],\n- [\"impl<'a, K, V> Send for IterMut<'a, K, V>
      where\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::IterMut\"]],\n- [\"impl<'a, K, V> Send for Keys<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::Keys\"]],\n- [\"impl<'a, K, V> Send for Range<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::Range\"]],\n- [\"impl<'a, K, V> Send for RangeMut<'a, K, V>
      where\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::RangeMut\"]],\n- [\"impl<'a, K, V> Send for Values<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::Values\"]],\n- [\"impl<'a, K, V> Send for ValuesMut<'a, K, V>
      where\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::ValuesMut\"]],\n- [\"impl<'a, K, V, A> Send for Entry<'a, K, V, A>
      where\\n A: Send,\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::entry::Entry\"]],\n- [\"impl<'a, K, V, A> Send for CursorMut<'a, K, V, A>
      where\\n A: Send,\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::CursorMut\"]],\n- [\"impl<'a, K, V, A> Send for CursorMutKey<'a, K, V, A>
      where\\n A: Send,\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::CursorMutKey\"]],\n- [\"impl<'a, K, V, A> Send for OccupiedEntry<'a, K, V, A>
      where\\n A: Send,\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedEntry\"]],\n- [\"impl<'a, K, V, A> Send for OccupiedError<'a, K, V, A>
      where\\n A: Send,\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedError\"]],\n- [\"impl<'a, K, V, A> Send for VacantEntry<'a, K, V, A>
      where\\n A: Send,\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::entry::VacantEntry\"]],\n- [\"impl<'a, K, V, F, A> Send for ExtractIf<'a, K, V, F, A>
      where\\n A: Send,\\n F: Send,\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::ExtractIf\"]],\n- [\"impl<'a, T> Send for Iter<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::binary_heap::Iter\"]],\n- [\"impl<'a, T> Send for Iter<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::Iter\"]],\n- [\"impl<'a, T> Send for Range<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::Range\"]],\n- [\"impl<'a, T> Send for SymmetricDifference<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::SymmetricDifference\"]],\n- [\"impl<'a, T> Send for Union<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::Union\"]],\n- [\"impl<'a, T> Send for Iter<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::vec_deque::iter::Iter\"]],\n- [\"impl<'a, T> Send for IterMut<'a, T>
      where\\n T: Send,
      \", 1, [\"alloc::collections::vec_deque::iter_mut::IterMut\"]],\n- [\"impl<'a, T, A> Send for Drain<'a, T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::collections::binary_heap::Drain\"]],\n- [\"impl<'a, T, A> Send for DrainSorted<'a, T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::collections::binary_heap::DrainSorted\"]],\n- [\"impl<'a, T, A> Send for PeekMut<'a, T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::collections::binary_heap::PeekMut\"]],\n- [\"impl<'a, T, A> Send for Difference<'a, T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::Difference\"]],\n- [\"impl<'a, T, A> Send for Intersection<'a, T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::Intersection\"]],\n- [\"impl<'a, T, F, A = Global> !Send for ExtractIf<'a, T, F, A>\", 1, [\"alloc::collections::linked_list::ExtractIf\"]],\n- [\"impl<'a, T, F, A> Send for ExtractIf<'a, T, F, A>
      where\\n A: Send,\\n F: Send,\\n T: Send,
      \", 1, [\"alloc::collections::btree::set::ExtractIf\"]],\n- [\"impl<'a, T, F, A> Send for ExtractIf<'a, T, F, A>
      where\\n A: Send,\\n F: Send,\\n T: Send,
      \", 1, [\"alloc::vec::extract_if::ExtractIf\"]],\n- [\"impl<K, V, A> Send for BTreeMap<K, V, A>
      where\\n A: Send,\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::BTreeMap\"]],\n- [\"impl<K, V, A> Send for IntoIter<K, V, A>
      where\\n A: Send,\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::IntoIter\"]],\n- [\"impl<K, V, A> Send for IntoKeys<K, V, A>
      where\\n A: Send,\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::IntoKeys\"]],\n- [\"impl<K, V, A> Send for IntoValues<K, V, A>
      where\\n A: Send,\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::IntoValues\"]],\n- [\"impl<T> !Send for UniqueRc<T>\", 1, [\"alloc::rc::UniqueRc\"]],\n- [\"impl<T, A> Send for BinaryHeap<T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::collections::binary_heap::BinaryHeap\"]],\n- [\"impl<T, A> Send for IntoIter<T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::collections::binary_heap::IntoIter\"]],\n- [\"impl<T, A> Send for IntoIterSorted<T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::collections::binary_heap::IntoIterSorted\"]],\n- [\"impl<T, A> Send for BTreeSet<T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::collections::btree::set::BTreeSet\"]],\n- [\"impl<T, A> Send for IntoIter<T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::collections::btree::set::IntoIter\"]],\n- [\"impl<T, A> Send for IntoIter<T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::collections::linked_list::IntoIter\"]],\n- [\"impl<T, A> Send for IntoIter<T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::collections::vec_deque::into_iter::IntoIter\"]],\n- [\"impl<T, A> Send for VecDeque<T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::collections::vec_deque::VecDeque\"]],\n- [\"impl<T, A> Send for Vec<T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::vec::Vec\"]],\n- [\"impl<T: Send> Send for IterMut<'_, T>\"],\n- [\"impl<T: Send, A: Allocator + Send> Send for CursorMut<'_, T, A>\"],\n- [\"impl<T: Send, A: Allocator + Send> Send for LinkedList<T, A>\"],\n- [\"impl<T: Send, A: Allocator + Send> Send for Drain<'_, T, A>\"],\n- [\"impl<T: Send, A: Allocator + Send> Send for IntoIter<T, A>\"],\n- [\"impl<T: Send, A: Send + Allocator> Send for Drain<'_, T, A>\"],\n- [\"impl<T: Sync> Send for Iter<'_, T>\"],\n- [\"impl<T: Sync, A: Allocator + Sync> Send for Cursor<'_, T, A>\"],\n- [\"impl<T: ?Sized + Send> Send for ThinBox<T>\"],\n- [\"impl<T: ?Sized + Sync + Send, A: Allocator + Send> Send for Arc<T, A>\"],\n- [\"impl<T: ?Sized + Sync + Send, A: Allocator + Send> Send for Weak<T, A>\"],\n- [\"impl<T: ?Sized, A> Send for Box<T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::boxed::Box\"]],\n- [\"impl<T: ?Sized, A: Allocator> !Send for Rc<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> !Send for Weak<T, A>\"]\n+ [\"impl Send for TryReserveErrorKind\", 1, [\"alloc::collections::TryReserveErrorKind\"]],\n+ [\"impl Send for Global\", 1, [\"alloc::alloc::Global\"]],\n+ [\"impl Send for UnorderedKeyError\", 1, [\"alloc::collections::btree::map::UnorderedKeyError\"]],\n+ [\"impl Send for TryReserveError\", 1, [\"alloc::collections::TryReserveError\"]],\n+ [\"impl Send for FromVecWithNulError\", 1, [\"alloc::ffi::c_str::FromVecWithNulError\"]],\n+ [\"impl Send for IntoStringError\", 1, [\"alloc::ffi::c_str::IntoStringError\"]],\n+ [\"impl Send for NulError\", 1, [\"alloc::ffi::c_str::NulError\"]],\n+ [\"impl Send for CString\", 1, [\"alloc::ffi::c_str::CString\"]],\n+ [\"impl Send for Drain<'_>\"],\n+ [\"impl Send for FromUtf16Error\", 1, [\"alloc::string::FromUtf16Error\"]],\n+ [\"impl Send for FromUtf8Error\", 1, [\"alloc::string::FromUtf8Error\"]],\n+ [\"impl Send for String\", 1, [\"alloc::string::String\"]],\n+ [\"impl<'a, B: ?Sized> Send for Cow<'a, B>
      where\\n B: Sync,\\n <B as ToOwned>::Owned: Send,
      \", 1, [\"alloc::borrow::Cow\"]],\n+ [\"impl<'a, I, A> Send for Splice<'a, I, A>
      where\\n A: Send,\\n I: Send,\\n <I as Iterator>::Item: Send,
      \", 1, [\"alloc::vec::splice::Splice\"]],\n+ [\"impl<'a, K, V> Send for Cursor<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::Cursor\"]],\n+ [\"impl<'a, K, V> Send for Iter<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::Iter\"]],\n+ [\"impl<'a, K, V> Send for IterMut<'a, K, V>
      where\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::IterMut\"]],\n+ [\"impl<'a, K, V> Send for Keys<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::Keys\"]],\n+ [\"impl<'a, K, V> Send for Range<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::Range\"]],\n+ [\"impl<'a, K, V> Send for RangeMut<'a, K, V>
      where\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::RangeMut\"]],\n+ [\"impl<'a, K, V> Send for Values<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::Values\"]],\n+ [\"impl<'a, K, V> Send for ValuesMut<'a, K, V>
      where\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::ValuesMut\"]],\n+ [\"impl<'a, K, V, A> Send for Entry<'a, K, V, A>
      where\\n A: Send,\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::entry::Entry\"]],\n+ [\"impl<'a, K, V, A> Send for CursorMut<'a, K, V, A>
      where\\n A: Send,\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::CursorMut\"]],\n+ [\"impl<'a, K, V, A> Send for CursorMutKey<'a, K, V, A>
      where\\n A: Send,\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::CursorMutKey\"]],\n+ [\"impl<'a, K, V, A> Send for OccupiedEntry<'a, K, V, A>
      where\\n A: Send,\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedEntry\"]],\n+ [\"impl<'a, K, V, A> Send for OccupiedError<'a, K, V, A>
      where\\n A: Send,\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedError\"]],\n+ [\"impl<'a, K, V, A> Send for VacantEntry<'a, K, V, A>
      where\\n A: Send,\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::entry::VacantEntry\"]],\n+ [\"impl<'a, K, V, F, A> Send for ExtractIf<'a, K, V, F, A>
      where\\n A: Send,\\n F: Send,\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::ExtractIf\"]],\n+ [\"impl<'a, T> Send for Iter<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::binary_heap::Iter\"]],\n+ [\"impl<'a, T> Send for Iter<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::Iter\"]],\n+ [\"impl<'a, T> Send for Range<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::Range\"]],\n+ [\"impl<'a, T> Send for SymmetricDifference<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::SymmetricDifference\"]],\n+ [\"impl<'a, T> Send for Union<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::Union\"]],\n+ [\"impl<'a, T> Send for Iter<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::vec_deque::iter::Iter\"]],\n+ [\"impl<'a, T> Send for IterMut<'a, T>
      where\\n T: Send,
      \", 1, [\"alloc::collections::vec_deque::iter_mut::IterMut\"]],\n+ [\"impl<'a, T, A> Send for Drain<'a, T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::collections::binary_heap::Drain\"]],\n+ [\"impl<'a, T, A> Send for DrainSorted<'a, T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::collections::binary_heap::DrainSorted\"]],\n+ [\"impl<'a, T, A> Send for PeekMut<'a, T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::collections::binary_heap::PeekMut\"]],\n+ [\"impl<'a, T, A> Send for Difference<'a, T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::Difference\"]],\n+ [\"impl<'a, T, A> Send for Intersection<'a, T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::Intersection\"]],\n+ [\"impl<'a, T, F, A = Global> !Send for ExtractIf<'a, T, F, A>\", 1, [\"alloc::collections::linked_list::ExtractIf\"]],\n+ [\"impl<'a, T, F, A> Send for ExtractIf<'a, T, F, A>
      where\\n A: Send,\\n F: Send,\\n T: Send,
      \", 1, [\"alloc::collections::btree::set::ExtractIf\"]],\n+ [\"impl<'a, T, F, A> Send for ExtractIf<'a, T, F, A>
      where\\n A: Send,\\n F: Send,\\n T: Send,
      \", 1, [\"alloc::vec::extract_if::ExtractIf\"]],\n+ [\"impl<K, V, A> Send for BTreeMap<K, V, A>
      where\\n A: Send,\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::BTreeMap\"]],\n+ [\"impl<K, V, A> Send for IntoIter<K, V, A>
      where\\n A: Send,\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::IntoIter\"]],\n+ [\"impl<K, V, A> Send for IntoKeys<K, V, A>
      where\\n A: Send,\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::IntoKeys\"]],\n+ [\"impl<K, V, A> Send for IntoValues<K, V, A>
      where\\n A: Send,\\n K: Send,\\n V: Send,
      \", 1, [\"alloc::collections::btree::map::IntoValues\"]],\n+ [\"impl<T> !Send for UniqueRc<T>\", 1, [\"alloc::rc::UniqueRc\"]],\n+ [\"impl<T, A> Send for BinaryHeap<T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::collections::binary_heap::BinaryHeap\"]],\n+ [\"impl<T, A> Send for IntoIter<T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::collections::binary_heap::IntoIter\"]],\n+ [\"impl<T, A> Send for IntoIterSorted<T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::collections::binary_heap::IntoIterSorted\"]],\n+ [\"impl<T, A> Send for BTreeSet<T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::collections::btree::set::BTreeSet\"]],\n+ [\"impl<T, A> Send for IntoIter<T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::collections::btree::set::IntoIter\"]],\n+ [\"impl<T, A> Send for IntoIter<T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::collections::linked_list::IntoIter\"]],\n+ [\"impl<T, A> Send for IntoIter<T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::collections::vec_deque::into_iter::IntoIter\"]],\n+ [\"impl<T, A> Send for VecDeque<T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::collections::vec_deque::VecDeque\"]],\n+ [\"impl<T, A> Send for Vec<T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::vec::Vec\"]],\n+ [\"impl<T: Send> Send for IterMut<'_, T>\"],\n+ [\"impl<T: Send, A: Allocator + Send> Send for CursorMut<'_, T, A>\"],\n+ [\"impl<T: Send, A: Allocator + Send> Send for LinkedList<T, A>\"],\n+ [\"impl<T: Send, A: Allocator + Send> Send for Drain<'_, T, A>\"],\n+ [\"impl<T: Send, A: Allocator + Send> Send for IntoIter<T, A>\"],\n+ [\"impl<T: Send, A: Send + Allocator> Send for Drain<'_, T, A>\"],\n+ [\"impl<T: Sync> Send for Iter<'_, T>\"],\n+ [\"impl<T: Sync, A: Allocator + Sync> Send for Cursor<'_, T, A>\"],\n+ [\"impl<T: ?Sized + Send> Send for ThinBox<T>\"],\n+ [\"impl<T: ?Sized + Sync + Send, A: Allocator + Send> Send for Arc<T, A>\"],\n+ [\"impl<T: ?Sized + Sync + Send, A: Allocator + Send> Send for Weak<T, A>\"],\n+ [\"impl<T: ?Sized, A> Send for Box<T, A>
      where\\n A: Send,\\n T: Send,
      \", 1, [\"alloc::boxed::Box\"]],\n+ [\"impl<T: ?Sized, A: Allocator> !Send for Rc<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> !Send for Weak<T, A>\"]\n ],\n \"core\": [],\n \"proc_macro\": [\n [\"impl !Send for TokenTree\"],\n [\"impl !Send for Diagnostic\", 1, [\"proc_macro::diagnostic::Diagnostic\"]],\n [\"impl !Send for ExpandError\"],\n [\"impl !Send for Group\"],\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.StructuralPartialEq.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.StructuralPartialEq.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,19 +1,19 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl StructuralPartialEq for TryReserveErrorKind\"],\n- [\"impl StructuralPartialEq for UnorderedKeyError\"],\n- [\"impl StructuralPartialEq for TryReserveError\"],\n- [\"impl StructuralPartialEq for FromVecWithNulError\"],\n- [\"impl StructuralPartialEq for IntoStringError\"],\n- [\"impl StructuralPartialEq for NulError\"],\n- [\"impl StructuralPartialEq for CString\"],\n- [\"impl StructuralPartialEq for FromUtf8Error\"],\n- [\"impl StructuralPartialEq for String\"]\n+ [\"impl StructuralPartialEq for TryReserveErrorKind\"],\n+ [\"impl StructuralPartialEq for UnorderedKeyError\"],\n+ [\"impl StructuralPartialEq for TryReserveError\"],\n+ [\"impl StructuralPartialEq for FromVecWithNulError\"],\n+ [\"impl StructuralPartialEq for IntoStringError\"],\n+ [\"impl StructuralPartialEq for NulError\"],\n+ [\"impl StructuralPartialEq for CString\"],\n+ [\"impl StructuralPartialEq for FromUtf8Error\"],\n+ [\"impl StructuralPartialEq for String\"]\n ],\n \"core\": [],\n \"proc_macro\": [\n [\"impl StructuralPartialEq for Delimiter\"],\n [\"impl StructuralPartialEq for Spacing\"]\n ],\n \"std\": [\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.Sync.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.Sync.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,82 +1,82 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl Sync for TryReserveErrorKind\", 1, [\"alloc::collections::TryReserveErrorKind\"]],\n- [\"impl Sync for Global\", 1, [\"alloc::alloc::Global\"]],\n- [\"impl Sync for UnorderedKeyError\", 1, [\"alloc::collections::btree::map::UnorderedKeyError\"]],\n- [\"impl Sync for TryReserveError\", 1, [\"alloc::collections::TryReserveError\"]],\n- [\"impl Sync for FromVecWithNulError\", 1, [\"alloc::ffi::c_str::FromVecWithNulError\"]],\n- [\"impl Sync for IntoStringError\", 1, [\"alloc::ffi::c_str::IntoStringError\"]],\n- [\"impl Sync for NulError\", 1, [\"alloc::ffi::c_str::NulError\"]],\n- [\"impl Sync for CString\", 1, [\"alloc::ffi::c_str::CString\"]],\n- [\"impl Sync for Drain<'_>\"],\n- [\"impl Sync for FromUtf16Error\", 1, [\"alloc::string::FromUtf16Error\"]],\n- [\"impl Sync for FromUtf8Error\", 1, [\"alloc::string::FromUtf8Error\"]],\n- [\"impl Sync for String\", 1, [\"alloc::string::String\"]],\n- [\"impl<'a, B: ?Sized> Sync for Cow<'a, B>
      where\\n B: Sync,\\n <B as ToOwned>::Owned: Sync,
      \", 1, [\"alloc::borrow::Cow\"]],\n- [\"impl<'a, I, A> Sync for Splice<'a, I, A>
      where\\n A: Sync,\\n I: Sync,\\n <I as Iterator>::Item: Sync,
      \", 1, [\"alloc::vec::splice::Splice\"]],\n- [\"impl<'a, K, V> Sync for Cursor<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::Cursor\"]],\n- [\"impl<'a, K, V> Sync for Iter<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::Iter\"]],\n- [\"impl<'a, K, V> Sync for IterMut<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::IterMut\"]],\n- [\"impl<'a, K, V> Sync for Keys<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::Keys\"]],\n- [\"impl<'a, K, V> Sync for Range<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::Range\"]],\n- [\"impl<'a, K, V> Sync for RangeMut<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::RangeMut\"]],\n- [\"impl<'a, K, V> Sync for Values<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::Values\"]],\n- [\"impl<'a, K, V> Sync for ValuesMut<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::ValuesMut\"]],\n- [\"impl<'a, K, V, A> Sync for Entry<'a, K, V, A>
      where\\n A: Sync,\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::entry::Entry\"]],\n- [\"impl<'a, K, V, A> Sync for CursorMut<'a, K, V, A>
      where\\n A: Sync,\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::CursorMut\"]],\n- [\"impl<'a, K, V, A> Sync for CursorMutKey<'a, K, V, A>
      where\\n A: Sync,\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::CursorMutKey\"]],\n- [\"impl<'a, K, V, A> Sync for OccupiedEntry<'a, K, V, A>
      where\\n A: Sync,\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedEntry\"]],\n- [\"impl<'a, K, V, A> Sync for OccupiedError<'a, K, V, A>
      where\\n A: Sync,\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedError\"]],\n- [\"impl<'a, K, V, A> Sync for VacantEntry<'a, K, V, A>
      where\\n A: Sync,\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::entry::VacantEntry\"]],\n- [\"impl<'a, K, V, F, A> Sync for ExtractIf<'a, K, V, F, A>
      where\\n A: Sync,\\n F: Sync,\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::ExtractIf\"]],\n- [\"impl<'a, T> Sync for Iter<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::binary_heap::Iter\"]],\n- [\"impl<'a, T> Sync for Iter<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::Iter\"]],\n- [\"impl<'a, T> Sync for Range<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::Range\"]],\n- [\"impl<'a, T> Sync for SymmetricDifference<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::SymmetricDifference\"]],\n- [\"impl<'a, T> Sync for Union<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::Union\"]],\n- [\"impl<'a, T> Sync for Iter<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::vec_deque::iter::Iter\"]],\n- [\"impl<'a, T> Sync for IterMut<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::vec_deque::iter_mut::IterMut\"]],\n- [\"impl<'a, T, A> Sync for Drain<'a, T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::binary_heap::Drain\"]],\n- [\"impl<'a, T, A> Sync for DrainSorted<'a, T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::binary_heap::DrainSorted\"]],\n- [\"impl<'a, T, A> Sync for PeekMut<'a, T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::binary_heap::PeekMut\"]],\n- [\"impl<'a, T, A> Sync for Difference<'a, T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::Difference\"]],\n- [\"impl<'a, T, A> Sync for Intersection<'a, T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::Intersection\"]],\n- [\"impl<'a, T, F, A = Global> !Sync for ExtractIf<'a, T, F, A>\", 1, [\"alloc::collections::linked_list::ExtractIf\"]],\n- [\"impl<'a, T, F, A> Sync for ExtractIf<'a, T, F, A>
      where\\n A: Sync,\\n F: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::ExtractIf\"]],\n- [\"impl<'a, T, F, A> Sync for ExtractIf<'a, T, F, A>
      where\\n A: Sync,\\n F: Sync,\\n T: Sync,
      \", 1, [\"alloc::vec::extract_if::ExtractIf\"]],\n- [\"impl<K, V, A> Sync for BTreeMap<K, V, A>
      where\\n A: Sync,\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::BTreeMap\"]],\n- [\"impl<K, V, A> Sync for IntoIter<K, V, A>
      where\\n A: Sync,\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::IntoIter\"]],\n- [\"impl<K, V, A> Sync for IntoKeys<K, V, A>
      where\\n A: Sync,\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::IntoKeys\"]],\n- [\"impl<K, V, A> Sync for IntoValues<K, V, A>
      where\\n A: Sync,\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::IntoValues\"]],\n- [\"impl<T> !Sync for UniqueRc<T>\", 1, [\"alloc::rc::UniqueRc\"]],\n- [\"impl<T, A> Sync for BinaryHeap<T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::binary_heap::BinaryHeap\"]],\n- [\"impl<T, A> Sync for IntoIter<T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::binary_heap::IntoIter\"]],\n- [\"impl<T, A> Sync for IntoIterSorted<T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::binary_heap::IntoIterSorted\"]],\n- [\"impl<T, A> Sync for BTreeSet<T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::BTreeSet\"]],\n- [\"impl<T, A> Sync for IntoIter<T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::IntoIter\"]],\n- [\"impl<T, A> Sync for IntoIter<T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::linked_list::IntoIter\"]],\n- [\"impl<T, A> Sync for IntoIter<T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::vec_deque::into_iter::IntoIter\"]],\n- [\"impl<T, A> Sync for VecDeque<T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::vec_deque::VecDeque\"]],\n- [\"impl<T, A> Sync for Vec<T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::vec::Vec\"]],\n- [\"impl<T: Sync> Sync for Iter<'_, T>\"],\n- [\"impl<T: Sync> Sync for IterMut<'_, T>\"],\n- [\"impl<T: Sync, A: Allocator + Sync> Sync for Cursor<'_, T, A>\"],\n- [\"impl<T: Sync, A: Allocator + Sync> Sync for CursorMut<'_, T, A>\"],\n- [\"impl<T: Sync, A: Allocator + Sync> Sync for LinkedList<T, A>\"],\n- [\"impl<T: Sync, A: Allocator + Sync> Sync for Drain<'_, T, A>\"],\n- [\"impl<T: Sync, A: Allocator + Sync> Sync for IntoIter<T, A>\"],\n- [\"impl<T: Sync, A: Sync + Allocator> Sync for Drain<'_, T, A>\"],\n- [\"impl<T: ?Sized + Sync + Send, A: Allocator + Sync> Sync for Arc<T, A>\"],\n- [\"impl<T: ?Sized + Sync + Send, A: Allocator + Sync> Sync for Weak<T, A>\"],\n- [\"impl<T: ?Sized + Sync> Sync for ThinBox<T>\"],\n- [\"impl<T: ?Sized, A> Sync for Box<T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::boxed::Box\"]],\n- [\"impl<T: ?Sized, A: Allocator> !Sync for Rc<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> !Sync for Weak<T, A>\"]\n+ [\"impl Sync for TryReserveErrorKind\", 1, [\"alloc::collections::TryReserveErrorKind\"]],\n+ [\"impl Sync for Global\", 1, [\"alloc::alloc::Global\"]],\n+ [\"impl Sync for UnorderedKeyError\", 1, [\"alloc::collections::btree::map::UnorderedKeyError\"]],\n+ [\"impl Sync for TryReserveError\", 1, [\"alloc::collections::TryReserveError\"]],\n+ [\"impl Sync for FromVecWithNulError\", 1, [\"alloc::ffi::c_str::FromVecWithNulError\"]],\n+ [\"impl Sync for IntoStringError\", 1, [\"alloc::ffi::c_str::IntoStringError\"]],\n+ [\"impl Sync for NulError\", 1, [\"alloc::ffi::c_str::NulError\"]],\n+ [\"impl Sync for CString\", 1, [\"alloc::ffi::c_str::CString\"]],\n+ [\"impl Sync for Drain<'_>\"],\n+ [\"impl Sync for FromUtf16Error\", 1, [\"alloc::string::FromUtf16Error\"]],\n+ [\"impl Sync for FromUtf8Error\", 1, [\"alloc::string::FromUtf8Error\"]],\n+ [\"impl Sync for String\", 1, [\"alloc::string::String\"]],\n+ [\"impl<'a, B: ?Sized> Sync for Cow<'a, B>
      where\\n B: Sync,\\n <B as ToOwned>::Owned: Sync,
      \", 1, [\"alloc::borrow::Cow\"]],\n+ [\"impl<'a, I, A> Sync for Splice<'a, I, A>
      where\\n A: Sync,\\n I: Sync,\\n <I as Iterator>::Item: Sync,
      \", 1, [\"alloc::vec::splice::Splice\"]],\n+ [\"impl<'a, K, V> Sync for Cursor<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::Cursor\"]],\n+ [\"impl<'a, K, V> Sync for Iter<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::Iter\"]],\n+ [\"impl<'a, K, V> Sync for IterMut<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::IterMut\"]],\n+ [\"impl<'a, K, V> Sync for Keys<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::Keys\"]],\n+ [\"impl<'a, K, V> Sync for Range<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::Range\"]],\n+ [\"impl<'a, K, V> Sync for RangeMut<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::RangeMut\"]],\n+ [\"impl<'a, K, V> Sync for Values<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::Values\"]],\n+ [\"impl<'a, K, V> Sync for ValuesMut<'a, K, V>
      where\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::ValuesMut\"]],\n+ [\"impl<'a, K, V, A> Sync for Entry<'a, K, V, A>
      where\\n A: Sync,\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::entry::Entry\"]],\n+ [\"impl<'a, K, V, A> Sync for CursorMut<'a, K, V, A>
      where\\n A: Sync,\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::CursorMut\"]],\n+ [\"impl<'a, K, V, A> Sync for CursorMutKey<'a, K, V, A>
      where\\n A: Sync,\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::CursorMutKey\"]],\n+ [\"impl<'a, K, V, A> Sync for OccupiedEntry<'a, K, V, A>
      where\\n A: Sync,\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedEntry\"]],\n+ [\"impl<'a, K, V, A> Sync for OccupiedError<'a, K, V, A>
      where\\n A: Sync,\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedError\"]],\n+ [\"impl<'a, K, V, A> Sync for VacantEntry<'a, K, V, A>
      where\\n A: Sync,\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::entry::VacantEntry\"]],\n+ [\"impl<'a, K, V, F, A> Sync for ExtractIf<'a, K, V, F, A>
      where\\n A: Sync,\\n F: Sync,\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::ExtractIf\"]],\n+ [\"impl<'a, T> Sync for Iter<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::binary_heap::Iter\"]],\n+ [\"impl<'a, T> Sync for Iter<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::Iter\"]],\n+ [\"impl<'a, T> Sync for Range<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::Range\"]],\n+ [\"impl<'a, T> Sync for SymmetricDifference<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::SymmetricDifference\"]],\n+ [\"impl<'a, T> Sync for Union<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::Union\"]],\n+ [\"impl<'a, T> Sync for Iter<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::vec_deque::iter::Iter\"]],\n+ [\"impl<'a, T> Sync for IterMut<'a, T>
      where\\n T: Sync,
      \", 1, [\"alloc::collections::vec_deque::iter_mut::IterMut\"]],\n+ [\"impl<'a, T, A> Sync for Drain<'a, T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::binary_heap::Drain\"]],\n+ [\"impl<'a, T, A> Sync for DrainSorted<'a, T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::binary_heap::DrainSorted\"]],\n+ [\"impl<'a, T, A> Sync for PeekMut<'a, T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::binary_heap::PeekMut\"]],\n+ [\"impl<'a, T, A> Sync for Difference<'a, T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::Difference\"]],\n+ [\"impl<'a, T, A> Sync for Intersection<'a, T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::Intersection\"]],\n+ [\"impl<'a, T, F, A = Global> !Sync for ExtractIf<'a, T, F, A>\", 1, [\"alloc::collections::linked_list::ExtractIf\"]],\n+ [\"impl<'a, T, F, A> Sync for ExtractIf<'a, T, F, A>
      where\\n A: Sync,\\n F: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::ExtractIf\"]],\n+ [\"impl<'a, T, F, A> Sync for ExtractIf<'a, T, F, A>
      where\\n A: Sync,\\n F: Sync,\\n T: Sync,
      \", 1, [\"alloc::vec::extract_if::ExtractIf\"]],\n+ [\"impl<K, V, A> Sync for BTreeMap<K, V, A>
      where\\n A: Sync,\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::BTreeMap\"]],\n+ [\"impl<K, V, A> Sync for IntoIter<K, V, A>
      where\\n A: Sync,\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::IntoIter\"]],\n+ [\"impl<K, V, A> Sync for IntoKeys<K, V, A>
      where\\n A: Sync,\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::IntoKeys\"]],\n+ [\"impl<K, V, A> Sync for IntoValues<K, V, A>
      where\\n A: Sync,\\n K: Sync,\\n V: Sync,
      \", 1, [\"alloc::collections::btree::map::IntoValues\"]],\n+ [\"impl<T> !Sync for UniqueRc<T>\", 1, [\"alloc::rc::UniqueRc\"]],\n+ [\"impl<T, A> Sync for BinaryHeap<T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::binary_heap::BinaryHeap\"]],\n+ [\"impl<T, A> Sync for IntoIter<T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::binary_heap::IntoIter\"]],\n+ [\"impl<T, A> Sync for IntoIterSorted<T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::binary_heap::IntoIterSorted\"]],\n+ [\"impl<T, A> Sync for BTreeSet<T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::BTreeSet\"]],\n+ [\"impl<T, A> Sync for IntoIter<T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::btree::set::IntoIter\"]],\n+ [\"impl<T, A> Sync for IntoIter<T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::linked_list::IntoIter\"]],\n+ [\"impl<T, A> Sync for IntoIter<T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::vec_deque::into_iter::IntoIter\"]],\n+ [\"impl<T, A> Sync for VecDeque<T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::collections::vec_deque::VecDeque\"]],\n+ [\"impl<T, A> Sync for Vec<T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::vec::Vec\"]],\n+ [\"impl<T: Sync> Sync for Iter<'_, T>\"],\n+ [\"impl<T: Sync> Sync for IterMut<'_, T>\"],\n+ [\"impl<T: Sync, A: Allocator + Sync> Sync for Cursor<'_, T, A>\"],\n+ [\"impl<T: Sync, A: Allocator + Sync> Sync for CursorMut<'_, T, A>\"],\n+ [\"impl<T: Sync, A: Allocator + Sync> Sync for LinkedList<T, A>\"],\n+ [\"impl<T: Sync, A: Allocator + Sync> Sync for Drain<'_, T, A>\"],\n+ [\"impl<T: Sync, A: Allocator + Sync> Sync for IntoIter<T, A>\"],\n+ [\"impl<T: Sync, A: Sync + Allocator> Sync for Drain<'_, T, A>\"],\n+ [\"impl<T: ?Sized + Sync + Send, A: Allocator + Sync> Sync for Arc<T, A>\"],\n+ [\"impl<T: ?Sized + Sync + Send, A: Allocator + Sync> Sync for Weak<T, A>\"],\n+ [\"impl<T: ?Sized + Sync> Sync for ThinBox<T>\"],\n+ [\"impl<T: ?Sized, A> Sync for Box<T, A>
      where\\n A: Sync,\\n T: Sync,
      \", 1, [\"alloc::boxed::Box\"]],\n+ [\"impl<T: ?Sized, A: Allocator> !Sync for Rc<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> !Sync for Weak<T, A>\"]\n ],\n \"core\": [],\n \"proc_macro\": [\n [\"impl !Sync for TokenTree\"],\n [\"impl !Sync for Diagnostic\", 1, [\"proc_macro::diagnostic::Diagnostic\"]],\n [\"impl !Sync for ExpandError\"],\n [\"impl !Sync for Group\"],\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.Unpin.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/marker/trait.Unpin.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,82 +1,82 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl Unpin for TryReserveErrorKind\", 1, [\"alloc::collections::TryReserveErrorKind\"]],\n- [\"impl Unpin for Global\", 1, [\"alloc::alloc::Global\"]],\n- [\"impl Unpin for UnorderedKeyError\", 1, [\"alloc::collections::btree::map::UnorderedKeyError\"]],\n- [\"impl Unpin for TryReserveError\", 1, [\"alloc::collections::TryReserveError\"]],\n- [\"impl Unpin for FromVecWithNulError\", 1, [\"alloc::ffi::c_str::FromVecWithNulError\"]],\n- [\"impl Unpin for IntoStringError\", 1, [\"alloc::ffi::c_str::IntoStringError\"]],\n- [\"impl Unpin for NulError\", 1, [\"alloc::ffi::c_str::NulError\"]],\n- [\"impl Unpin for CString\", 1, [\"alloc::ffi::c_str::CString\"]],\n- [\"impl Unpin for FromUtf16Error\", 1, [\"alloc::string::FromUtf16Error\"]],\n- [\"impl Unpin for FromUtf8Error\", 1, [\"alloc::string::FromUtf8Error\"]],\n- [\"impl Unpin for String\", 1, [\"alloc::string::String\"]],\n- [\"impl<'a> Unpin for Drain<'a>\", 1, [\"alloc::string::Drain\"]],\n- [\"impl<'a, B: ?Sized> Unpin for Cow<'a, B>
      where\\n <B as ToOwned>::Owned: Unpin,
      \", 1, [\"alloc::borrow::Cow\"]],\n- [\"impl<'a, I, A> Unpin for Splice<'a, I, A>
      where\\n I: Unpin,
      \", 1, [\"alloc::vec::splice::Splice\"]],\n- [\"impl<'a, K, V> Unpin for Cursor<'a, K, V>\", 1, [\"alloc::collections::btree::map::Cursor\"]],\n- [\"impl<'a, K, V> Unpin for Iter<'a, K, V>\", 1, [\"alloc::collections::btree::map::Iter\"]],\n- [\"impl<'a, K, V> Unpin for IterMut<'a, K, V>\", 1, [\"alloc::collections::btree::map::IterMut\"]],\n- [\"impl<'a, K, V> Unpin for Keys<'a, K, V>\", 1, [\"alloc::collections::btree::map::Keys\"]],\n- [\"impl<'a, K, V> Unpin for Range<'a, K, V>\", 1, [\"alloc::collections::btree::map::Range\"]],\n- [\"impl<'a, K, V> Unpin for RangeMut<'a, K, V>\", 1, [\"alloc::collections::btree::map::RangeMut\"]],\n- [\"impl<'a, K, V> Unpin for Values<'a, K, V>\", 1, [\"alloc::collections::btree::map::Values\"]],\n- [\"impl<'a, K, V> Unpin for ValuesMut<'a, K, V>\", 1, [\"alloc::collections::btree::map::ValuesMut\"]],\n- [\"impl<'a, K, V, A> Unpin for Entry<'a, K, V, A>
      where\\n A: Unpin,\\n K: Unpin,
      \", 1, [\"alloc::collections::btree::map::entry::Entry\"]],\n- [\"impl<'a, K, V, A> Unpin for CursorMut<'a, K, V, A>\", 1, [\"alloc::collections::btree::map::CursorMut\"]],\n- [\"impl<'a, K, V, A> Unpin for CursorMutKey<'a, K, V, A>\", 1, [\"alloc::collections::btree::map::CursorMutKey\"]],\n- [\"impl<'a, K, V, A> Unpin for OccupiedEntry<'a, K, V, A>
      where\\n A: Unpin,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedEntry\"]],\n- [\"impl<'a, K, V, A> Unpin for OccupiedError<'a, K, V, A>
      where\\n A: Unpin,\\n V: Unpin,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedError\"]],\n- [\"impl<'a, K, V, A> Unpin for VacantEntry<'a, K, V, A>
      where\\n A: Unpin,\\n K: Unpin,
      \", 1, [\"alloc::collections::btree::map::entry::VacantEntry\"]],\n- [\"impl<'a, K, V, F, A> Unpin for ExtractIf<'a, K, V, F, A>
      where\\n A: Unpin,\\n F: Unpin,
      \", 1, [\"alloc::collections::btree::map::ExtractIf\"]],\n- [\"impl<'a, T> Unpin for Iter<'a, T>\", 1, [\"alloc::collections::binary_heap::Iter\"]],\n- [\"impl<'a, T> Unpin for Iter<'a, T>\", 1, [\"alloc::collections::btree::set::Iter\"]],\n- [\"impl<'a, T> Unpin for Range<'a, T>\", 1, [\"alloc::collections::btree::set::Range\"]],\n- [\"impl<'a, T> Unpin for SymmetricDifference<'a, T>\", 1, [\"alloc::collections::btree::set::SymmetricDifference\"]],\n- [\"impl<'a, T> Unpin for Union<'a, T>\", 1, [\"alloc::collections::btree::set::Union\"]],\n- [\"impl<'a, T> Unpin for Iter<'a, T>\", 1, [\"alloc::collections::linked_list::Iter\"]],\n- [\"impl<'a, T> Unpin for IterMut<'a, T>\", 1, [\"alloc::collections::linked_list::IterMut\"]],\n- [\"impl<'a, T> Unpin for Iter<'a, T>\", 1, [\"alloc::collections::vec_deque::iter::Iter\"]],\n- [\"impl<'a, T> Unpin for IterMut<'a, T>\", 1, [\"alloc::collections::vec_deque::iter_mut::IterMut\"]],\n- [\"impl<'a, T, A> Unpin for Drain<'a, T, A>\", 1, [\"alloc::collections::binary_heap::Drain\"]],\n- [\"impl<'a, T, A> Unpin for DrainSorted<'a, T, A>\", 1, [\"alloc::collections::binary_heap::DrainSorted\"]],\n- [\"impl<'a, T, A> Unpin for PeekMut<'a, T, A>\", 1, [\"alloc::collections::binary_heap::PeekMut\"]],\n- [\"impl<'a, T, A> Unpin for Difference<'a, T, A>\", 1, [\"alloc::collections::btree::set::Difference\"]],\n- [\"impl<'a, T, A> Unpin for Intersection<'a, T, A>\", 1, [\"alloc::collections::btree::set::Intersection\"]],\n- [\"impl<'a, T, A> Unpin for Cursor<'a, T, A>\", 1, [\"alloc::collections::linked_list::Cursor\"]],\n- [\"impl<'a, T, A> Unpin for CursorMut<'a, T, A>\", 1, [\"alloc::collections::linked_list::CursorMut\"]],\n- [\"impl<'a, T, A> Unpin for Drain<'a, T, A>\", 1, [\"alloc::collections::vec_deque::drain::Drain\"]],\n- [\"impl<'a, T, A> Unpin for Drain<'a, T, A>\", 1, [\"alloc::vec::drain::Drain\"]],\n- [\"impl<'a, T, F, A> Unpin for ExtractIf<'a, T, F, A>
      where\\n A: Unpin,\\n F: Unpin,
      \", 1, [\"alloc::collections::btree::set::ExtractIf\"]],\n- [\"impl<'a, T, F, A> Unpin for ExtractIf<'a, T, F, A>
      where\\n F: Unpin,
      \", 1, [\"alloc::collections::linked_list::ExtractIf\"]],\n- [\"impl<'a, T, F, A> Unpin for ExtractIf<'a, T, F, A>
      where\\n F: Unpin,
      \", 1, [\"alloc::vec::extract_if::ExtractIf\"]],\n- [\"impl<K, V, A> Unpin for BTreeMap<K, V, A>
      where\\n A: Unpin,
      \", 1, [\"alloc::collections::btree::map::BTreeMap\"]],\n- [\"impl<K, V, A> Unpin for IntoIter<K, V, A>
      where\\n A: Unpin,
      \", 1, [\"alloc::collections::btree::map::IntoIter\"]],\n- [\"impl<K, V, A> Unpin for IntoKeys<K, V, A>
      where\\n A: Unpin,
      \", 1, [\"alloc::collections::btree::map::IntoKeys\"]],\n- [\"impl<K, V, A> Unpin for IntoValues<K, V, A>
      where\\n A: Unpin,
      \", 1, [\"alloc::collections::btree::map::IntoValues\"]],\n- [\"impl<T> Unpin for UniqueRc<T>
      where\\n T: Unpin,
      \", 1, [\"alloc::rc::UniqueRc\"]],\n- [\"impl<T, A> Unpin for BinaryHeap<T, A>
      where\\n A: Unpin,\\n T: Unpin,
      \", 1, [\"alloc::collections::binary_heap::BinaryHeap\"]],\n- [\"impl<T, A> Unpin for IntoIter<T, A>
      where\\n A: Unpin,\\n T: Unpin,
      \", 1, [\"alloc::collections::binary_heap::IntoIter\"]],\n- [\"impl<T, A> Unpin for IntoIterSorted<T, A>
      where\\n A: Unpin,\\n T: Unpin,
      \", 1, [\"alloc::collections::binary_heap::IntoIterSorted\"]],\n- [\"impl<T, A> Unpin for BTreeSet<T, A>
      where\\n A: Unpin,
      \", 1, [\"alloc::collections::btree::set::BTreeSet\"]],\n- [\"impl<T, A> Unpin for IntoIter<T, A>
      where\\n A: Unpin,
      \", 1, [\"alloc::collections::btree::set::IntoIter\"]],\n- [\"impl<T, A> Unpin for IntoIter<T, A>
      where\\n A: Unpin,
      \", 1, [\"alloc::collections::linked_list::IntoIter\"]],\n- [\"impl<T, A> Unpin for LinkedList<T, A>
      where\\n A: Unpin,
      \", 1, [\"alloc::collections::linked_list::LinkedList\"]],\n- [\"impl<T, A> Unpin for IntoIter<T, A>
      where\\n A: Unpin,\\n T: Unpin,
      \", 1, [\"alloc::collections::vec_deque::into_iter::IntoIter\"]],\n- [\"impl<T, A> Unpin for VecDeque<T, A>
      where\\n A: Unpin,\\n T: Unpin,
      \", 1, [\"alloc::collections::vec_deque::VecDeque\"]],\n- [\"impl<T, A> Unpin for IntoIter<T, A>
      where\\n A: Unpin,\\n T: Unpin,
      \", 1, [\"alloc::vec::into_iter::IntoIter\"]],\n- [\"impl<T, A> Unpin for Vec<T, A>
      where\\n A: Unpin,\\n T: Unpin,
      \", 1, [\"alloc::vec::Vec\"]],\n- [\"impl<T: ?Sized> Unpin for ThinBox<T>
      where\\n T: Unpin,
      \", 1, [\"alloc::boxed::thin::ThinBox\"]],\n- [\"impl<T: ?Sized, A> Unpin for Weak<T, A>
      where\\n A: Unpin,
      \", 1, [\"alloc::rc::Weak\"]],\n- [\"impl<T: ?Sized, A> Unpin for Weak<T, A>
      where\\n A: Unpin,
      \", 1, [\"alloc::sync::Weak\"]],\n- [\"impl<T: ?Sized, A: Allocator> Unpin for Box<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> Unpin for Rc<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> Unpin for Arc<T, A>\"]\n+ [\"impl Unpin for TryReserveErrorKind\", 1, [\"alloc::collections::TryReserveErrorKind\"]],\n+ [\"impl Unpin for Global\", 1, [\"alloc::alloc::Global\"]],\n+ [\"impl Unpin for UnorderedKeyError\", 1, [\"alloc::collections::btree::map::UnorderedKeyError\"]],\n+ [\"impl Unpin for TryReserveError\", 1, [\"alloc::collections::TryReserveError\"]],\n+ [\"impl Unpin for FromVecWithNulError\", 1, [\"alloc::ffi::c_str::FromVecWithNulError\"]],\n+ [\"impl Unpin for IntoStringError\", 1, [\"alloc::ffi::c_str::IntoStringError\"]],\n+ [\"impl Unpin for NulError\", 1, [\"alloc::ffi::c_str::NulError\"]],\n+ [\"impl Unpin for CString\", 1, [\"alloc::ffi::c_str::CString\"]],\n+ [\"impl Unpin for FromUtf16Error\", 1, [\"alloc::string::FromUtf16Error\"]],\n+ [\"impl Unpin for FromUtf8Error\", 1, [\"alloc::string::FromUtf8Error\"]],\n+ [\"impl Unpin for String\", 1, [\"alloc::string::String\"]],\n+ [\"impl<'a> Unpin for Drain<'a>\", 1, [\"alloc::string::Drain\"]],\n+ [\"impl<'a, B: ?Sized> Unpin for Cow<'a, B>
      where\\n <B as ToOwned>::Owned: Unpin,
      \", 1, [\"alloc::borrow::Cow\"]],\n+ [\"impl<'a, I, A> Unpin for Splice<'a, I, A>
      where\\n I: Unpin,
      \", 1, [\"alloc::vec::splice::Splice\"]],\n+ [\"impl<'a, K, V> Unpin for Cursor<'a, K, V>\", 1, [\"alloc::collections::btree::map::Cursor\"]],\n+ [\"impl<'a, K, V> Unpin for Iter<'a, K, V>\", 1, [\"alloc::collections::btree::map::Iter\"]],\n+ [\"impl<'a, K, V> Unpin for IterMut<'a, K, V>\", 1, [\"alloc::collections::btree::map::IterMut\"]],\n+ [\"impl<'a, K, V> Unpin for Keys<'a, K, V>\", 1, [\"alloc::collections::btree::map::Keys\"]],\n+ [\"impl<'a, K, V> Unpin for Range<'a, K, V>\", 1, [\"alloc::collections::btree::map::Range\"]],\n+ [\"impl<'a, K, V> Unpin for RangeMut<'a, K, V>\", 1, [\"alloc::collections::btree::map::RangeMut\"]],\n+ [\"impl<'a, K, V> Unpin for Values<'a, K, V>\", 1, [\"alloc::collections::btree::map::Values\"]],\n+ [\"impl<'a, K, V> Unpin for ValuesMut<'a, K, V>\", 1, [\"alloc::collections::btree::map::ValuesMut\"]],\n+ [\"impl<'a, K, V, A> Unpin for Entry<'a, K, V, A>
      where\\n A: Unpin,\\n K: Unpin,
      \", 1, [\"alloc::collections::btree::map::entry::Entry\"]],\n+ [\"impl<'a, K, V, A> Unpin for CursorMut<'a, K, V, A>\", 1, [\"alloc::collections::btree::map::CursorMut\"]],\n+ [\"impl<'a, K, V, A> Unpin for CursorMutKey<'a, K, V, A>\", 1, [\"alloc::collections::btree::map::CursorMutKey\"]],\n+ [\"impl<'a, K, V, A> Unpin for OccupiedEntry<'a, K, V, A>
      where\\n A: Unpin,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedEntry\"]],\n+ [\"impl<'a, K, V, A> Unpin for OccupiedError<'a, K, V, A>
      where\\n A: Unpin,\\n V: Unpin,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedError\"]],\n+ [\"impl<'a, K, V, A> Unpin for VacantEntry<'a, K, V, A>
      where\\n A: Unpin,\\n K: Unpin,
      \", 1, [\"alloc::collections::btree::map::entry::VacantEntry\"]],\n+ [\"impl<'a, K, V, F, A> Unpin for ExtractIf<'a, K, V, F, A>
      where\\n A: Unpin,\\n F: Unpin,
      \", 1, [\"alloc::collections::btree::map::ExtractIf\"]],\n+ [\"impl<'a, T> Unpin for Iter<'a, T>\", 1, [\"alloc::collections::binary_heap::Iter\"]],\n+ [\"impl<'a, T> Unpin for Iter<'a, T>\", 1, [\"alloc::collections::btree::set::Iter\"]],\n+ [\"impl<'a, T> Unpin for Range<'a, T>\", 1, [\"alloc::collections::btree::set::Range\"]],\n+ [\"impl<'a, T> Unpin for SymmetricDifference<'a, T>\", 1, [\"alloc::collections::btree::set::SymmetricDifference\"]],\n+ [\"impl<'a, T> Unpin for Union<'a, T>\", 1, [\"alloc::collections::btree::set::Union\"]],\n+ [\"impl<'a, T> Unpin for Iter<'a, T>\", 1, [\"alloc::collections::linked_list::Iter\"]],\n+ [\"impl<'a, T> Unpin for IterMut<'a, T>\", 1, [\"alloc::collections::linked_list::IterMut\"]],\n+ [\"impl<'a, T> Unpin for Iter<'a, T>\", 1, [\"alloc::collections::vec_deque::iter::Iter\"]],\n+ [\"impl<'a, T> Unpin for IterMut<'a, T>\", 1, [\"alloc::collections::vec_deque::iter_mut::IterMut\"]],\n+ [\"impl<'a, T, A> Unpin for Drain<'a, T, A>\", 1, [\"alloc::collections::binary_heap::Drain\"]],\n+ [\"impl<'a, T, A> Unpin for DrainSorted<'a, T, A>\", 1, [\"alloc::collections::binary_heap::DrainSorted\"]],\n+ [\"impl<'a, T, A> Unpin for PeekMut<'a, T, A>\", 1, [\"alloc::collections::binary_heap::PeekMut\"]],\n+ [\"impl<'a, T, A> Unpin for Difference<'a, T, A>\", 1, [\"alloc::collections::btree::set::Difference\"]],\n+ [\"impl<'a, T, A> Unpin for Intersection<'a, T, A>\", 1, [\"alloc::collections::btree::set::Intersection\"]],\n+ [\"impl<'a, T, A> Unpin for Cursor<'a, T, A>\", 1, [\"alloc::collections::linked_list::Cursor\"]],\n+ [\"impl<'a, T, A> Unpin for CursorMut<'a, T, A>\", 1, [\"alloc::collections::linked_list::CursorMut\"]],\n+ [\"impl<'a, T, A> Unpin for Drain<'a, T, A>\", 1, [\"alloc::collections::vec_deque::drain::Drain\"]],\n+ [\"impl<'a, T, A> Unpin for Drain<'a, T, A>\", 1, [\"alloc::vec::drain::Drain\"]],\n+ [\"impl<'a, T, F, A> Unpin for ExtractIf<'a, T, F, A>
      where\\n A: Unpin,\\n F: Unpin,
      \", 1, [\"alloc::collections::btree::set::ExtractIf\"]],\n+ [\"impl<'a, T, F, A> Unpin for ExtractIf<'a, T, F, A>
      where\\n F: Unpin,
      \", 1, [\"alloc::collections::linked_list::ExtractIf\"]],\n+ [\"impl<'a, T, F, A> Unpin for ExtractIf<'a, T, F, A>
      where\\n F: Unpin,
      \", 1, [\"alloc::vec::extract_if::ExtractIf\"]],\n+ [\"impl<K, V, A> Unpin for BTreeMap<K, V, A>
      where\\n A: Unpin,
      \", 1, [\"alloc::collections::btree::map::BTreeMap\"]],\n+ [\"impl<K, V, A> Unpin for IntoIter<K, V, A>
      where\\n A: Unpin,
      \", 1, [\"alloc::collections::btree::map::IntoIter\"]],\n+ [\"impl<K, V, A> Unpin for IntoKeys<K, V, A>
      where\\n A: Unpin,
      \", 1, [\"alloc::collections::btree::map::IntoKeys\"]],\n+ [\"impl<K, V, A> Unpin for IntoValues<K, V, A>
      where\\n A: Unpin,
      \", 1, [\"alloc::collections::btree::map::IntoValues\"]],\n+ [\"impl<T> Unpin for UniqueRc<T>
      where\\n T: Unpin,
      \", 1, [\"alloc::rc::UniqueRc\"]],\n+ [\"impl<T, A> Unpin for BinaryHeap<T, A>
      where\\n A: Unpin,\\n T: Unpin,
      \", 1, [\"alloc::collections::binary_heap::BinaryHeap\"]],\n+ [\"impl<T, A> Unpin for IntoIter<T, A>
      where\\n A: Unpin,\\n T: Unpin,
      \", 1, [\"alloc::collections::binary_heap::IntoIter\"]],\n+ [\"impl<T, A> Unpin for IntoIterSorted<T, A>
      where\\n A: Unpin,\\n T: Unpin,
      \", 1, [\"alloc::collections::binary_heap::IntoIterSorted\"]],\n+ [\"impl<T, A> Unpin for BTreeSet<T, A>
      where\\n A: Unpin,
      \", 1, [\"alloc::collections::btree::set::BTreeSet\"]],\n+ [\"impl<T, A> Unpin for IntoIter<T, A>
      where\\n A: Unpin,
      \", 1, [\"alloc::collections::btree::set::IntoIter\"]],\n+ [\"impl<T, A> Unpin for IntoIter<T, A>
      where\\n A: Unpin,
      \", 1, [\"alloc::collections::linked_list::IntoIter\"]],\n+ [\"impl<T, A> Unpin for LinkedList<T, A>
      where\\n A: Unpin,
      \", 1, [\"alloc::collections::linked_list::LinkedList\"]],\n+ [\"impl<T, A> Unpin for IntoIter<T, A>
      where\\n A: Unpin,\\n T: Unpin,
      \", 1, [\"alloc::collections::vec_deque::into_iter::IntoIter\"]],\n+ [\"impl<T, A> Unpin for VecDeque<T, A>
      where\\n A: Unpin,\\n T: Unpin,
      \", 1, [\"alloc::collections::vec_deque::VecDeque\"]],\n+ [\"impl<T, A> Unpin for IntoIter<T, A>
      where\\n A: Unpin,\\n T: Unpin,
      \", 1, [\"alloc::vec::into_iter::IntoIter\"]],\n+ [\"impl<T, A> Unpin for Vec<T, A>
      where\\n A: Unpin,\\n T: Unpin,
      \", 1, [\"alloc::vec::Vec\"]],\n+ [\"impl<T: ?Sized> Unpin for ThinBox<T>
      where\\n T: Unpin,
      \", 1, [\"alloc::boxed::thin::ThinBox\"]],\n+ [\"impl<T: ?Sized, A> Unpin for Weak<T, A>
      where\\n A: Unpin,
      \", 1, [\"alloc::rc::Weak\"]],\n+ [\"impl<T: ?Sized, A> Unpin for Weak<T, A>
      where\\n A: Unpin,
      \", 1, [\"alloc::sync::Weak\"]],\n+ [\"impl<T: ?Sized, A: Allocator> Unpin for Box<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> Unpin for Rc<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> Unpin for Arc<T, A>\"]\n ],\n \"core\": [],\n \"proc_macro\": [\n [\"impl Unpin for Delimiter\", 1, [\"proc_macro::Delimiter\"]],\n [\"impl Unpin for Level\", 1, [\"proc_macro::diagnostic::Level\"]],\n [\"impl Unpin for Spacing\", 1, [\"proc_macro::Spacing\"]],\n [\"impl Unpin for TokenTree\", 1, [\"proc_macro::TokenTree\"]],\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/arith/trait.Add.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/arith/trait.Add.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,13 +1,13 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl Add<&str> for String\"],\n- [\"impl<'a> Add for Cow<'a, str>\"],\n- [\"impl<'a> Add<&'a str> for Cow<'a, str>\"]\n+ [\"impl Add<&str> for String\"],\n+ [\"impl<'a> Add for Cow<'a, str>\"],\n+ [\"impl<'a> Add<&'a str> for Cow<'a, str>\"]\n ],\n \"core\": [],\n \"std\": [\n [\"impl Add<Duration> for Instant\"],\n [\"impl Add<Duration> for SystemTime\"]\n ]\n };\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/arith/trait.AddAssign.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/arith/trait.AddAssign.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,13 +1,13 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl AddAssign<&str> for String\"],\n- [\"impl<'a> AddAssign for Cow<'a, str>\"],\n- [\"impl<'a> AddAssign<&'a str> for Cow<'a, str>\"]\n+ [\"impl AddAssign<&str> for String\"],\n+ [\"impl<'a> AddAssign for Cow<'a, str>\"],\n+ [\"impl<'a> AddAssign<&'a str> for Cow<'a, str>\"]\n ],\n \"core\": [],\n \"std\": [\n [\"impl AddAssign<Duration> for Instant\"],\n [\"impl AddAssign<Duration> for SystemTime\"]\n ]\n };\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/arith/trait.Sub.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/arith/trait.Sub.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,11 +1,11 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl<T: Ord + Clone, A: Allocator + Clone> Sub<&BTreeSet<T, A>> for &BTreeSet<T, A>\"]\n+ [\"impl<T: Ord + Clone, A: Allocator + Clone> Sub<&BTreeSet<T, A>> for &BTreeSet<T, A>\"]\n ],\n \"core\": [],\n \"std\": [\n [\"impl Sub for Instant\"],\n [\"impl Sub<Duration> for Instant\"],\n [\"impl Sub<Duration> for SystemTime\"],\n [\"impl<T, S> Sub<&HashSet<T, S>> for &HashSet<T, S>
      where\\n T: Eq + Hash + Clone,\\n S: BuildHasher + Default,
      \"]\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/async_function/trait.AsyncFn.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/async_function/trait.AsyncFn.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,11 +1,11 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl<Args: Tuple, F: AsyncFn<Args> + ?Sized, A: Allocator> AsyncFn<Args> for Box<F, A>\"]\n+ [\"impl<Args: Tuple, F: AsyncFn<Args> + ?Sized, A: Allocator> AsyncFn<Args> for Box<F, A>\"]\n ],\n \"core\": [],\n \"std\": []\n };\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/async_function/trait.AsyncFnMut.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/async_function/trait.AsyncFnMut.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,11 +1,11 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl<Args: Tuple, F: AsyncFnMut<Args> + ?Sized, A: Allocator> AsyncFnMut<Args> for Box<F, A>\"]\n+ [\"impl<Args: Tuple, F: AsyncFnMut<Args> + ?Sized, A: Allocator> AsyncFnMut<Args> for Box<F, A>\"]\n ],\n \"core\": [],\n \"std\": []\n };\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/async_function/trait.AsyncFnOnce.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/async_function/trait.AsyncFnOnce.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,11 +1,11 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl<Args: Tuple, F: AsyncFnOnce<Args> + ?Sized, A: Allocator> AsyncFnOnce<Args> for Box<F, A>\"]\n+ [\"impl<Args: Tuple, F: AsyncFnOnce<Args> + ?Sized, A: Allocator> AsyncFnOnce<Args> for Box<F, A>\"]\n ],\n \"core\": [],\n \"std\": []\n };\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/bit/trait.BitAnd.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/bit/trait.BitAnd.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,11 +1,11 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl<T: Ord + Clone, A: Allocator + Clone> BitAnd<&BTreeSet<T, A>> for &BTreeSet<T, A>\"]\n+ [\"impl<T: Ord + Clone, A: Allocator + Clone> BitAnd<&BTreeSet<T, A>> for &BTreeSet<T, A>\"]\n ],\n \"core\": [],\n \"std\": [\n [\"impl<T, S> BitAnd<&HashSet<T, S>> for &HashSet<T, S>
      where\\n T: Eq + Hash + Clone,\\n S: BuildHasher + Default,
      \"]\n ]\n };\n if (window.register_implementors) {\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/bit/trait.BitOr.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/bit/trait.BitOr.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,11 +1,11 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl<T: Ord + Clone, A: Allocator + Clone> BitOr<&BTreeSet<T, A>> for &BTreeSet<T, A>\"]\n+ [\"impl<T: Ord + Clone, A: Allocator + Clone> BitOr<&BTreeSet<T, A>> for &BTreeSet<T, A>\"]\n ],\n \"core\": [],\n \"std\": [\n [\"impl<T, S> BitOr<&HashSet<T, S>> for &HashSet<T, S>
      where\\n T: Eq + Hash + Clone,\\n S: BuildHasher + Default,
      \"]\n ]\n };\n if (window.register_implementors) {\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/bit/trait.BitXor.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/bit/trait.BitXor.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,11 +1,11 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl<T: Ord + Clone, A: Allocator + Clone> BitXor<&BTreeSet<T, A>> for &BTreeSet<T, A>\"]\n+ [\"impl<T: Ord + Clone, A: Allocator + Clone> BitXor<&BTreeSet<T, A>> for &BTreeSet<T, A>\"]\n ],\n \"core\": [],\n \"std\": [\n [\"impl<T, S> BitXor<&HashSet<T, S>> for &HashSet<T, S>
      where\\n T: Eq + Hash + Clone,\\n S: BuildHasher + Default,
      \"]\n ]\n };\n if (window.register_implementors) {\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/coroutine/trait.Coroutine.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/coroutine/trait.Coroutine.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,12 +1,12 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl<G: ?Sized + Coroutine<R> + Unpin, R, A: Allocator> Coroutine<R> for Box<G, A>\"],\n- [\"impl<G: ?Sized + Coroutine<R>, R, A> Coroutine<R> for Pin<Box<G, A>>
      where\\n A: 'static + Allocator,
      \"]\n+ [\"impl<G: ?Sized + Coroutine<R> + Unpin, R, A: Allocator> Coroutine<R> for Box<G, A>\"],\n+ [\"impl<G: ?Sized + Coroutine<R>, R, A> Coroutine<R> for Pin<Box<G, A>>
      where\\n A: 'static + Allocator,
      \"]\n ],\n \"core\": [],\n \"std\": []\n };\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/deref/trait.Deref.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/deref/trait.Deref.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,20 +1,20 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl Deref for CString\"],\n- [\"impl Deref for String\"],\n- [\"impl<B: ?Sized + ToOwned> Deref for Cow<'_, B>
      where\\n B::Owned: Borrow<B>,
      \"],\n- [\"impl<T> Deref for UniqueRc<T>\"],\n- [\"impl<T, A: Allocator> Deref for Vec<T, A>\"],\n- [\"impl<T: Ord, A: Allocator> Deref for PeekMut<'_, T, A>\"],\n- [\"impl<T: ?Sized> Deref for ThinBox<T>\"],\n- [\"impl<T: ?Sized, A: Allocator> Deref for Box<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> Deref for Rc<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> Deref for Arc<T, A>\"]\n+ [\"impl Deref for CString\"],\n+ [\"impl Deref for String\"],\n+ [\"impl<B: ?Sized + ToOwned> Deref for Cow<'_, B>
      where\\n B::Owned: Borrow<B>,
      \"],\n+ [\"impl<T> Deref for UniqueRc<T>\"],\n+ [\"impl<T, A: Allocator> Deref for Vec<T, A>\"],\n+ [\"impl<T: Ord, A: Allocator> Deref for PeekMut<'_, T, A>\"],\n+ [\"impl<T: ?Sized> Deref for ThinBox<T>\"],\n+ [\"impl<T: ?Sized, A: Allocator> Deref for Box<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> Deref for Rc<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> Deref for Arc<T, A>\"]\n ],\n \"core\": [],\n \"std\": [\n [\"impl Deref for OsString\"],\n [\"impl Deref for PathBuf\"],\n [\"impl<'a> Deref for IoSlice<'a>\"],\n [\"impl<'a> Deref for IoSliceMut<'a>\"],\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/deref/trait.DerefMut.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/deref/trait.DerefMut.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,16 +1,16 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl DerefMut for String\"],\n- [\"impl<T> DerefMut for UniqueRc<T>\"],\n- [\"impl<T, A: Allocator> DerefMut for Vec<T, A>\"],\n- [\"impl<T: Ord, A: Allocator> DerefMut for PeekMut<'_, T, A>\"],\n- [\"impl<T: ?Sized> DerefMut for ThinBox<T>\"],\n- [\"impl<T: ?Sized, A: Allocator> DerefMut for Box<T, A>\"]\n+ [\"impl DerefMut for String\"],\n+ [\"impl<T> DerefMut for UniqueRc<T>\"],\n+ [\"impl<T, A: Allocator> DerefMut for Vec<T, A>\"],\n+ [\"impl<T: Ord, A: Allocator> DerefMut for PeekMut<'_, T, A>\"],\n+ [\"impl<T: ?Sized> DerefMut for ThinBox<T>\"],\n+ [\"impl<T: ?Sized, A: Allocator> DerefMut for Box<T, A>\"]\n ],\n \"core\": [],\n \"std\": [\n [\"impl DerefMut for OsString\"],\n [\"impl DerefMut for PathBuf\"],\n [\"impl<'a> DerefMut for IoSliceMut<'a>\"],\n [\"impl<T: ?Sized> DerefMut for MappedMutexGuard<'_, T>\"],\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/drop/trait.Drop.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/drop/trait.Drop.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,31 +1,31 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl Drop for CString\"],\n- [\"impl Drop for Drain<'_>\"],\n- [\"impl<'a, T: Ord, A: Allocator> Drop for DrainSorted<'a, T, A>\"],\n- [\"impl<I: Iterator, A: Allocator> Drop for Splice<'_, I, A>\"],\n- [\"impl<K, V, A: Allocator + Clone> Drop for BTreeMap<K, V, A>\"],\n- [\"impl<K, V, A: Allocator + Clone> Drop for IntoIter<K, V, A>\"],\n- [\"impl<T> Drop for UniqueRc<T>\"],\n- [\"impl<T, A: Allocator> Drop for LinkedList<T, A>\"],\n- [\"impl<T, A: Allocator> Drop for Drain<'_, T, A>\"],\n- [\"impl<T, A: Allocator> Drop for VecDeque<T, A>\"],\n- [\"impl<T, A: Allocator> Drop for Drain<'_, T, A>\"],\n- [\"impl<T, A: Allocator> Drop for IntoIter<T, A>\"],\n- [\"impl<T, A: Allocator> Drop for Vec<T, A>\"],\n- [\"impl<T, F, A: Allocator> Drop for ExtractIf<'_, T, F, A>
      where\\n F: FnMut(&mut T) -> bool,
      \"],\n- [\"impl<T: Ord, A: Allocator> Drop for PeekMut<'_, T, A>\"],\n- [\"impl<T: ?Sized> Drop for ThinBox<T>\"],\n- [\"impl<T: ?Sized, A: Allocator> Drop for Box<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> Drop for Rc<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> Drop for Weak<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> Drop for Arc<T, A>\"],\n- [\"impl<T: ?Sized, A: Allocator> Drop for Weak<T, A>\"]\n+ [\"impl Drop for CString\"],\n+ [\"impl Drop for Drain<'_>\"],\n+ [\"impl<'a, T: Ord, A: Allocator> Drop for DrainSorted<'a, T, A>\"],\n+ [\"impl<I: Iterator, A: Allocator> Drop for Splice<'_, I, A>\"],\n+ [\"impl<K, V, A: Allocator + Clone> Drop for BTreeMap<K, V, A>\"],\n+ [\"impl<K, V, A: Allocator + Clone> Drop for IntoIter<K, V, A>\"],\n+ [\"impl<T> Drop for UniqueRc<T>\"],\n+ [\"impl<T, A: Allocator> Drop for LinkedList<T, A>\"],\n+ [\"impl<T, A: Allocator> Drop for Drain<'_, T, A>\"],\n+ [\"impl<T, A: Allocator> Drop for VecDeque<T, A>\"],\n+ [\"impl<T, A: Allocator> Drop for Drain<'_, T, A>\"],\n+ [\"impl<T, A: Allocator> Drop for IntoIter<T, A>\"],\n+ [\"impl<T, A: Allocator> Drop for Vec<T, A>\"],\n+ [\"impl<T, F, A: Allocator> Drop for ExtractIf<'_, T, F, A>
      where\\n F: FnMut(&mut T) -> bool,
      \"],\n+ [\"impl<T: Ord, A: Allocator> Drop for PeekMut<'_, T, A>\"],\n+ [\"impl<T: ?Sized> Drop for ThinBox<T>\"],\n+ [\"impl<T: ?Sized, A: Allocator> Drop for Box<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> Drop for Rc<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> Drop for Weak<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> Drop for Arc<T, A>\"],\n+ [\"impl<T: ?Sized, A: Allocator> Drop for Weak<T, A>\"]\n ],\n \"core\": [],\n \"std\": [\n [\"impl Drop for OwnedFd\"],\n [\"impl Drop for HandleOrInvalid\"],\n [\"impl Drop for HandleOrNull\"],\n [\"impl Drop for OwnedHandle\"],\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/function/trait.Fn.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/function/trait.Fn.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,11 +1,11 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl<Args: Tuple, F: Fn<Args> + ?Sized, A: Allocator> Fn<Args> for Box<F, A>\"]\n+ [\"impl<Args: Tuple, F: Fn<Args> + ?Sized, A: Allocator> Fn<Args> for Box<F, A>\"]\n ],\n \"core\": [],\n \"std\": []\n };\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/function/trait.FnMut.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/function/trait.FnMut.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,11 +1,11 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl<Args: Tuple, F: FnMut<Args> + ?Sized, A: Allocator> FnMut<Args> for Box<F, A>\"]\n+ [\"impl<Args: Tuple, F: FnMut<Args> + ?Sized, A: Allocator> FnMut<Args> for Box<F, A>\"]\n ],\n \"core\": [],\n \"std\": []\n };\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/function/trait.FnOnce.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/function/trait.FnOnce.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,11 +1,11 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl<Args: Tuple, F: FnOnce<Args> + ?Sized, A: Allocator> FnOnce<Args> for Box<F, A>\"]\n+ [\"impl<Args: Tuple, F: FnOnce<Args> + ?Sized, A: Allocator> FnOnce<Args> for Box<F, A>\"]\n ],\n \"core\": [],\n \"std\": []\n };\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/index/trait.Index.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/index/trait.Index.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,15 +1,15 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl Index<RangeFull> for CString\"],\n- [\"impl<I> Index<I> for String
      where\\n I: SliceIndex<str>,
      \"],\n- [\"impl<K, Q, V, A: Allocator + Clone> Index<&Q> for BTreeMap<K, V, A>
      where\\n K: Borrow<Q> + Ord,\\n Q: Ord + ?Sized,
      \"],\n- [\"impl<T, A: Allocator> Index<usize> for VecDeque<T, A>\"],\n- [\"impl<T, I: SliceIndex<[T]>, A: Allocator> Index<I> for Vec<T, A>\"]\n+ [\"impl Index<RangeFull> for CString\"],\n+ [\"impl<I> Index<I> for String
      where\\n I: SliceIndex<str>,
      \"],\n+ [\"impl<K, Q, V, A: Allocator + Clone> Index<&Q> for BTreeMap<K, V, A>
      where\\n K: Borrow<Q> + Ord,\\n Q: Ord + ?Sized,
      \"],\n+ [\"impl<T, A: Allocator> Index<usize> for VecDeque<T, A>\"],\n+ [\"impl<T, I: SliceIndex<[T]>, A: Allocator> Index<I> for Vec<T, A>\"]\n ],\n \"core\": [],\n \"std\": [\n [\"impl Index<RangeFull> for OsString\"],\n [\"impl<K, Q, V, S> Index<&Q> for HashMap<K, V, S>
      where\\n K: Eq + Hash + Borrow<Q>,\\n Q: Eq + Hash + ?Sized,\\n S: BuildHasher,
      \"]\n ]\n };\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/index/trait.IndexMut.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/index/trait.IndexMut.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,13 +1,13 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl<I> IndexMut<I> for String
      where\\n I: SliceIndex<str>,
      \"],\n- [\"impl<T, A: Allocator> IndexMut<usize> for VecDeque<T, A>\"],\n- [\"impl<T, I: SliceIndex<[T]>, A: Allocator> IndexMut<I> for Vec<T, A>\"]\n+ [\"impl<I> IndexMut<I> for String
      where\\n I: SliceIndex<str>,
      \"],\n+ [\"impl<T, A: Allocator> IndexMut<usize> for VecDeque<T, A>\"],\n+ [\"impl<T, I: SliceIndex<[T]>, A: Allocator> IndexMut<I> for Vec<T, A>\"]\n ],\n \"core\": [],\n \"std\": [\n [\"impl IndexMut<RangeFull> for OsString\"]\n ]\n };\n if (window.register_implementors) {\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/unsize/trait.CoerceUnsized.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/unsize/trait.CoerceUnsized.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,15 +1,15 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl<T: ?Sized + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<Box<U, A>> for Box<T, A>\"],\n- [\"impl<T: ?Sized + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<Rc<U, A>> for Rc<T, A>\"],\n- [\"impl<T: ?Sized + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<Weak<U, A>> for Weak<T, A>\"],\n- [\"impl<T: ?Sized + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<Arc<U, A>> for Arc<T, A>\"],\n- [\"impl<T: ?Sized + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<Weak<U, A>> for Weak<T, A>\"]\n+ [\"impl<T: ?Sized + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<Box<U, A>> for Box<T, A>\"],\n+ [\"impl<T: ?Sized + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<Rc<U, A>> for Rc<T, A>\"],\n+ [\"impl<T: ?Sized + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<Weak<U, A>> for Weak<T, A>\"],\n+ [\"impl<T: ?Sized + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<Arc<U, A>> for Arc<T, A>\"],\n+ [\"impl<T: ?Sized + Unsize<U>, U: ?Sized, A: Allocator> CoerceUnsized<Weak<U, A>> for Weak<T, A>\"]\n ],\n \"core\": [],\n \"std\": []\n };\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/unsize/trait.DispatchFromDyn.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/ops/unsize/trait.DispatchFromDyn.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,15 +1,15 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Box<U>> for Box<T, Global>\"],\n- [\"impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Rc<U>> for Rc<T>\"],\n- [\"impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Weak<U>> for Weak<T>\"],\n- [\"impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Arc<U>> for Arc<T>\"],\n- [\"impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Weak<U>> for Weak<T>\"]\n+ [\"impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Box<U>> for Box<T, Global>\"],\n+ [\"impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Rc<U>> for Rc<T>\"],\n+ [\"impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Weak<U>> for Weak<T>\"],\n+ [\"impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Arc<U>> for Arc<T>\"],\n+ [\"impl<T: ?Sized + Unsize<U>, U: ?Sized> DispatchFromDyn<Weak<U>> for Weak<T>\"]\n ],\n \"core\": [],\n \"std\": []\n };\n if (window.register_implementors) {\n window.register_implementors(implementors);\n } else {\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/panic/unwind_safe/trait.RefUnwindSafe.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,82 +1,82 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl RefUnwindSafe for TryReserveErrorKind\", 1, [\"alloc::collections::TryReserveErrorKind\"]],\n- [\"impl RefUnwindSafe for Global\", 1, [\"alloc::alloc::Global\"]],\n- [\"impl RefUnwindSafe for UnorderedKeyError\", 1, [\"alloc::collections::btree::map::UnorderedKeyError\"]],\n- [\"impl RefUnwindSafe for TryReserveError\", 1, [\"alloc::collections::TryReserveError\"]],\n- [\"impl RefUnwindSafe for FromVecWithNulError\", 1, [\"alloc::ffi::c_str::FromVecWithNulError\"]],\n- [\"impl RefUnwindSafe for IntoStringError\", 1, [\"alloc::ffi::c_str::IntoStringError\"]],\n- [\"impl RefUnwindSafe for NulError\", 1, [\"alloc::ffi::c_str::NulError\"]],\n- [\"impl RefUnwindSafe for CString\", 1, [\"alloc::ffi::c_str::CString\"]],\n- [\"impl RefUnwindSafe for FromUtf16Error\", 1, [\"alloc::string::FromUtf16Error\"]],\n- [\"impl RefUnwindSafe for FromUtf8Error\", 1, [\"alloc::string::FromUtf8Error\"]],\n- [\"impl RefUnwindSafe for String\", 1, [\"alloc::string::String\"]],\n- [\"impl<'a> RefUnwindSafe for Drain<'a>\", 1, [\"alloc::string::Drain\"]],\n- [\"impl<'a, B: ?Sized> RefUnwindSafe for Cow<'a, B>
      where\\n B: RefUnwindSafe,\\n <B as ToOwned>::Owned: RefUnwindSafe,
      \", 1, [\"alloc::borrow::Cow\"]],\n- [\"impl<'a, I, A> RefUnwindSafe for Splice<'a, I, A>
      where\\n A: RefUnwindSafe,\\n I: RefUnwindSafe,\\n <I as Iterator>::Item: RefUnwindSafe,
      \", 1, [\"alloc::vec::splice::Splice\"]],\n- [\"impl<'a, K, V> RefUnwindSafe for Cursor<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::Cursor\"]],\n- [\"impl<'a, K, V> RefUnwindSafe for Iter<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::Iter\"]],\n- [\"impl<'a, K, V> RefUnwindSafe for IterMut<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::IterMut\"]],\n- [\"impl<'a, K, V> RefUnwindSafe for Keys<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::Keys\"]],\n- [\"impl<'a, K, V> RefUnwindSafe for Range<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::Range\"]],\n- [\"impl<'a, K, V> RefUnwindSafe for RangeMut<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::RangeMut\"]],\n- [\"impl<'a, K, V> RefUnwindSafe for Values<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::Values\"]],\n- [\"impl<'a, K, V> RefUnwindSafe for ValuesMut<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::ValuesMut\"]],\n- [\"impl<'a, K, V, A> RefUnwindSafe for Entry<'a, K, V, A>
      where\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::entry::Entry\"]],\n- [\"impl<'a, K, V, A> RefUnwindSafe for CursorMut<'a, K, V, A>
      where\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::CursorMut\"]],\n- [\"impl<'a, K, V, A> RefUnwindSafe for CursorMutKey<'a, K, V, A>
      where\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::CursorMutKey\"]],\n- [\"impl<'a, K, V, A> RefUnwindSafe for OccupiedEntry<'a, K, V, A>
      where\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedEntry\"]],\n- [\"impl<'a, K, V, A> RefUnwindSafe for OccupiedError<'a, K, V, A>
      where\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedError\"]],\n- [\"impl<'a, K, V, A> RefUnwindSafe for VacantEntry<'a, K, V, A>
      where\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::entry::VacantEntry\"]],\n- [\"impl<'a, K, V, F, A> RefUnwindSafe for ExtractIf<'a, K, V, F, A>
      where\\n A: RefUnwindSafe,\\n F: RefUnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::ExtractIf\"]],\n- [\"impl<'a, T> RefUnwindSafe for Iter<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::Iter\"]],\n- [\"impl<'a, T> RefUnwindSafe for Iter<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Iter\"]],\n- [\"impl<'a, T> RefUnwindSafe for Range<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Range\"]],\n- [\"impl<'a, T> RefUnwindSafe for SymmetricDifference<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::SymmetricDifference\"]],\n- [\"impl<'a, T> RefUnwindSafe for Union<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Union\"]],\n- [\"impl<'a, T> RefUnwindSafe for Iter<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::linked_list::Iter\"]],\n- [\"impl<'a, T> RefUnwindSafe for IterMut<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::linked_list::IterMut\"]],\n- [\"impl<'a, T> RefUnwindSafe for Iter<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::vec_deque::iter::Iter\"]],\n- [\"impl<'a, T> RefUnwindSafe for IterMut<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::vec_deque::iter_mut::IterMut\"]],\n- [\"impl<'a, T, A> RefUnwindSafe for Drain<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::Drain\"]],\n- [\"impl<'a, T, A> RefUnwindSafe for DrainSorted<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::DrainSorted\"]],\n- [\"impl<'a, T, A> RefUnwindSafe for PeekMut<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::PeekMut\"]],\n- [\"impl<'a, T, A> RefUnwindSafe for Difference<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Difference\"]],\n- [\"impl<'a, T, A> RefUnwindSafe for Intersection<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Intersection\"]],\n- [\"impl<'a, T, A> RefUnwindSafe for Cursor<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::linked_list::Cursor\"]],\n- [\"impl<'a, T, A> RefUnwindSafe for CursorMut<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::linked_list::CursorMut\"]],\n- [\"impl<'a, T, A> RefUnwindSafe for Drain<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::vec_deque::drain::Drain\"]],\n- [\"impl<'a, T, A> RefUnwindSafe for Drain<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::vec::drain::Drain\"]],\n- [\"impl<'a, T, F, A> RefUnwindSafe for ExtractIf<'a, T, F, A>
      where\\n A: RefUnwindSafe,\\n F: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::ExtractIf\"]],\n- [\"impl<'a, T, F, A> RefUnwindSafe for ExtractIf<'a, T, F, A>
      where\\n A: RefUnwindSafe,\\n F: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::linked_list::ExtractIf\"]],\n- [\"impl<'a, T, F, A> RefUnwindSafe for ExtractIf<'a, T, F, A>
      where\\n A: RefUnwindSafe,\\n F: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::vec::extract_if::ExtractIf\"]],\n- [\"impl<K, V, A> RefUnwindSafe for BTreeMap<K, V, A>
      where\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::BTreeMap\"]],\n- [\"impl<K, V, A> RefUnwindSafe for IntoIter<K, V, A>
      where\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::IntoIter\"]],\n- [\"impl<K, V, A> RefUnwindSafe for IntoKeys<K, V, A>
      where\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::IntoKeys\"]],\n- [\"impl<K, V, A> RefUnwindSafe for IntoValues<K, V, A>
      where\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::IntoValues\"]],\n- [\"impl<T> !RefUnwindSafe for UniqueRc<T>\", 1, [\"alloc::rc::UniqueRc\"]],\n- [\"impl<T, A = Global> !RefUnwindSafe for Weak<T, A>\", 1, [\"alloc::rc::Weak\"]],\n- [\"impl<T, A> RefUnwindSafe for BinaryHeap<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::BinaryHeap\"]],\n- [\"impl<T, A> RefUnwindSafe for IntoIter<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::IntoIter\"]],\n- [\"impl<T, A> RefUnwindSafe for IntoIterSorted<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::IntoIterSorted\"]],\n- [\"impl<T, A> RefUnwindSafe for BTreeSet<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::BTreeSet\"]],\n- [\"impl<T, A> RefUnwindSafe for IntoIter<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::IntoIter\"]],\n- [\"impl<T, A> RefUnwindSafe for IntoIter<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::linked_list::IntoIter\"]],\n- [\"impl<T, A> RefUnwindSafe for LinkedList<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::linked_list::LinkedList\"]],\n- [\"impl<T, A> RefUnwindSafe for IntoIter<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::vec_deque::into_iter::IntoIter\"]],\n- [\"impl<T, A> RefUnwindSafe for VecDeque<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::vec_deque::VecDeque\"]],\n- [\"impl<T, A> RefUnwindSafe for IntoIter<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::vec::into_iter::IntoIter\"]],\n- [\"impl<T, A> RefUnwindSafe for Vec<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::vec::Vec\"]],\n- [\"impl<T: RefUnwindSafe + ?Sized, A: Allocator + UnwindSafe> RefUnwindSafe for Rc<T, A>\"],\n- [\"impl<T: ?Sized> RefUnwindSafe for ThinBox<T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::boxed::thin::ThinBox\"]],\n- [\"impl<T: ?Sized, A> RefUnwindSafe for Box<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::boxed::Box\"]],\n- [\"impl<T: ?Sized, A> RefUnwindSafe for Arc<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::sync::Arc\"]],\n- [\"impl<T: ?Sized, A> RefUnwindSafe for Weak<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::sync::Weak\"]]\n+ [\"impl RefUnwindSafe for TryReserveErrorKind\", 1, [\"alloc::collections::TryReserveErrorKind\"]],\n+ [\"impl RefUnwindSafe for Global\", 1, [\"alloc::alloc::Global\"]],\n+ [\"impl RefUnwindSafe for UnorderedKeyError\", 1, [\"alloc::collections::btree::map::UnorderedKeyError\"]],\n+ [\"impl RefUnwindSafe for TryReserveError\", 1, [\"alloc::collections::TryReserveError\"]],\n+ [\"impl RefUnwindSafe for FromVecWithNulError\", 1, [\"alloc::ffi::c_str::FromVecWithNulError\"]],\n+ [\"impl RefUnwindSafe for IntoStringError\", 1, [\"alloc::ffi::c_str::IntoStringError\"]],\n+ [\"impl RefUnwindSafe for NulError\", 1, [\"alloc::ffi::c_str::NulError\"]],\n+ [\"impl RefUnwindSafe for CString\", 1, [\"alloc::ffi::c_str::CString\"]],\n+ [\"impl RefUnwindSafe for FromUtf16Error\", 1, [\"alloc::string::FromUtf16Error\"]],\n+ [\"impl RefUnwindSafe for FromUtf8Error\", 1, [\"alloc::string::FromUtf8Error\"]],\n+ [\"impl RefUnwindSafe for String\", 1, [\"alloc::string::String\"]],\n+ [\"impl<'a> RefUnwindSafe for Drain<'a>\", 1, [\"alloc::string::Drain\"]],\n+ [\"impl<'a, B: ?Sized> RefUnwindSafe for Cow<'a, B>
      where\\n B: RefUnwindSafe,\\n <B as ToOwned>::Owned: RefUnwindSafe,
      \", 1, [\"alloc::borrow::Cow\"]],\n+ [\"impl<'a, I, A> RefUnwindSafe for Splice<'a, I, A>
      where\\n A: RefUnwindSafe,\\n I: RefUnwindSafe,\\n <I as Iterator>::Item: RefUnwindSafe,
      \", 1, [\"alloc::vec::splice::Splice\"]],\n+ [\"impl<'a, K, V> RefUnwindSafe for Cursor<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::Cursor\"]],\n+ [\"impl<'a, K, V> RefUnwindSafe for Iter<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::Iter\"]],\n+ [\"impl<'a, K, V> RefUnwindSafe for IterMut<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::IterMut\"]],\n+ [\"impl<'a, K, V> RefUnwindSafe for Keys<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::Keys\"]],\n+ [\"impl<'a, K, V> RefUnwindSafe for Range<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::Range\"]],\n+ [\"impl<'a, K, V> RefUnwindSafe for RangeMut<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::RangeMut\"]],\n+ [\"impl<'a, K, V> RefUnwindSafe for Values<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::Values\"]],\n+ [\"impl<'a, K, V> RefUnwindSafe for ValuesMut<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::ValuesMut\"]],\n+ [\"impl<'a, K, V, A> RefUnwindSafe for Entry<'a, K, V, A>
      where\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::entry::Entry\"]],\n+ [\"impl<'a, K, V, A> RefUnwindSafe for CursorMut<'a, K, V, A>
      where\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::CursorMut\"]],\n+ [\"impl<'a, K, V, A> RefUnwindSafe for CursorMutKey<'a, K, V, A>
      where\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::CursorMutKey\"]],\n+ [\"impl<'a, K, V, A> RefUnwindSafe for OccupiedEntry<'a, K, V, A>
      where\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedEntry\"]],\n+ [\"impl<'a, K, V, A> RefUnwindSafe for OccupiedError<'a, K, V, A>
      where\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::entry::OccupiedError\"]],\n+ [\"impl<'a, K, V, A> RefUnwindSafe for VacantEntry<'a, K, V, A>
      where\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::entry::VacantEntry\"]],\n+ [\"impl<'a, K, V, F, A> RefUnwindSafe for ExtractIf<'a, K, V, F, A>
      where\\n A: RefUnwindSafe,\\n F: RefUnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::ExtractIf\"]],\n+ [\"impl<'a, T> RefUnwindSafe for Iter<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::Iter\"]],\n+ [\"impl<'a, T> RefUnwindSafe for Iter<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Iter\"]],\n+ [\"impl<'a, T> RefUnwindSafe for Range<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Range\"]],\n+ [\"impl<'a, T> RefUnwindSafe for SymmetricDifference<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::SymmetricDifference\"]],\n+ [\"impl<'a, T> RefUnwindSafe for Union<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Union\"]],\n+ [\"impl<'a, T> RefUnwindSafe for Iter<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::linked_list::Iter\"]],\n+ [\"impl<'a, T> RefUnwindSafe for IterMut<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::linked_list::IterMut\"]],\n+ [\"impl<'a, T> RefUnwindSafe for Iter<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::vec_deque::iter::Iter\"]],\n+ [\"impl<'a, T> RefUnwindSafe for IterMut<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::vec_deque::iter_mut::IterMut\"]],\n+ [\"impl<'a, T, A> RefUnwindSafe for Drain<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::Drain\"]],\n+ [\"impl<'a, T, A> RefUnwindSafe for DrainSorted<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::DrainSorted\"]],\n+ [\"impl<'a, T, A> RefUnwindSafe for PeekMut<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::PeekMut\"]],\n+ [\"impl<'a, T, A> RefUnwindSafe for Difference<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Difference\"]],\n+ [\"impl<'a, T, A> RefUnwindSafe for Intersection<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Intersection\"]],\n+ [\"impl<'a, T, A> RefUnwindSafe for Cursor<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::linked_list::Cursor\"]],\n+ [\"impl<'a, T, A> RefUnwindSafe for CursorMut<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::linked_list::CursorMut\"]],\n+ [\"impl<'a, T, A> RefUnwindSafe for Drain<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::vec_deque::drain::Drain\"]],\n+ [\"impl<'a, T, A> RefUnwindSafe for Drain<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::vec::drain::Drain\"]],\n+ [\"impl<'a, T, F, A> RefUnwindSafe for ExtractIf<'a, T, F, A>
      where\\n A: RefUnwindSafe,\\n F: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::ExtractIf\"]],\n+ [\"impl<'a, T, F, A> RefUnwindSafe for ExtractIf<'a, T, F, A>
      where\\n A: RefUnwindSafe,\\n F: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::linked_list::ExtractIf\"]],\n+ [\"impl<'a, T, F, A> RefUnwindSafe for ExtractIf<'a, T, F, A>
      where\\n A: RefUnwindSafe,\\n F: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::vec::extract_if::ExtractIf\"]],\n+ [\"impl<K, V, A> RefUnwindSafe for BTreeMap<K, V, A>
      where\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::BTreeMap\"]],\n+ [\"impl<K, V, A> RefUnwindSafe for IntoIter<K, V, A>
      where\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::IntoIter\"]],\n+ [\"impl<K, V, A> RefUnwindSafe for IntoKeys<K, V, A>
      where\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::IntoKeys\"]],\n+ [\"impl<K, V, A> RefUnwindSafe for IntoValues<K, V, A>
      where\\n A: RefUnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::IntoValues\"]],\n+ [\"impl<T> !RefUnwindSafe for UniqueRc<T>\", 1, [\"alloc::rc::UniqueRc\"]],\n+ [\"impl<T, A = Global> !RefUnwindSafe for Weak<T, A>\", 1, [\"alloc::rc::Weak\"]],\n+ [\"impl<T, A> RefUnwindSafe for BinaryHeap<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::BinaryHeap\"]],\n+ [\"impl<T, A> RefUnwindSafe for IntoIter<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::IntoIter\"]],\n+ [\"impl<T, A> RefUnwindSafe for IntoIterSorted<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::IntoIterSorted\"]],\n+ [\"impl<T, A> RefUnwindSafe for BTreeSet<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::BTreeSet\"]],\n+ [\"impl<T, A> RefUnwindSafe for IntoIter<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::IntoIter\"]],\n+ [\"impl<T, A> RefUnwindSafe for IntoIter<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::linked_list::IntoIter\"]],\n+ [\"impl<T, A> RefUnwindSafe for LinkedList<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::linked_list::LinkedList\"]],\n+ [\"impl<T, A> RefUnwindSafe for IntoIter<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::vec_deque::into_iter::IntoIter\"]],\n+ [\"impl<T, A> RefUnwindSafe for VecDeque<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::vec_deque::VecDeque\"]],\n+ [\"impl<T, A> RefUnwindSafe for IntoIter<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::vec::into_iter::IntoIter\"]],\n+ [\"impl<T, A> RefUnwindSafe for Vec<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::vec::Vec\"]],\n+ [\"impl<T: RefUnwindSafe + ?Sized, A: Allocator + UnwindSafe> RefUnwindSafe for Rc<T, A>\"],\n+ [\"impl<T: ?Sized> RefUnwindSafe for ThinBox<T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::boxed::thin::ThinBox\"]],\n+ [\"impl<T: ?Sized, A> RefUnwindSafe for Box<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::boxed::Box\"]],\n+ [\"impl<T: ?Sized, A> RefUnwindSafe for Arc<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::sync::Arc\"]],\n+ [\"impl<T: ?Sized, A> RefUnwindSafe for Weak<T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::sync::Weak\"]]\n ],\n \"core\": [],\n \"proc_macro\": [\n [\"impl RefUnwindSafe for Delimiter\", 1, [\"proc_macro::Delimiter\"]],\n [\"impl RefUnwindSafe for Level\", 1, [\"proc_macro::diagnostic::Level\"]],\n [\"impl RefUnwindSafe for Spacing\", 1, [\"proc_macro::Spacing\"]],\n [\"impl RefUnwindSafe for TokenTree\", 1, [\"proc_macro::TokenTree\"]],\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js", "source2": "./usr/share/doc/rust-web-doc/html/trait.impl/core/panic/unwind_safe/trait.UnwindSafe.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,82 +1,82 @@\n (function() {\n var implementors = {\n \"alloc\": [\n- [\"impl UnwindSafe for TryReserveErrorKind\", 1, [\"alloc::collections::TryReserveErrorKind\"]],\n- [\"impl UnwindSafe for Global\", 1, [\"alloc::alloc::Global\"]],\n- [\"impl UnwindSafe for UnorderedKeyError\", 1, [\"alloc::collections::btree::map::UnorderedKeyError\"]],\n- [\"impl UnwindSafe for TryReserveError\", 1, [\"alloc::collections::TryReserveError\"]],\n- [\"impl UnwindSafe for FromVecWithNulError\", 1, [\"alloc::ffi::c_str::FromVecWithNulError\"]],\n- [\"impl UnwindSafe for IntoStringError\", 1, [\"alloc::ffi::c_str::IntoStringError\"]],\n- [\"impl UnwindSafe for NulError\", 1, [\"alloc::ffi::c_str::NulError\"]],\n- [\"impl UnwindSafe for CString\", 1, [\"alloc::ffi::c_str::CString\"]],\n- [\"impl UnwindSafe for FromUtf16Error\", 1, [\"alloc::string::FromUtf16Error\"]],\n- [\"impl UnwindSafe for FromUtf8Error\", 1, [\"alloc::string::FromUtf8Error\"]],\n- [\"impl UnwindSafe for String\", 1, [\"alloc::string::String\"]],\n- [\"impl<'a> UnwindSafe for Drain<'a>\", 1, [\"alloc::string::Drain\"]],\n- [\"impl<'a, B: ?Sized> UnwindSafe for Cow<'a, B>
      where\\n B: RefUnwindSafe,\\n <B as ToOwned>::Owned: UnwindSafe,
      \", 1, [\"alloc::borrow::Cow\"]],\n- [\"impl<'a, I, A> UnwindSafe for Splice<'a, I, A>
      where\\n A: RefUnwindSafe,\\n I: UnwindSafe,\\n <I as Iterator>::Item: RefUnwindSafe,
      \", 1, [\"alloc::vec::splice::Splice\"]],\n- [\"impl<'a, K, V> !UnwindSafe for IterMut<'a, K, V>\", 1, [\"alloc::collections::btree::map::IterMut\"]],\n- [\"impl<'a, K, V> !UnwindSafe for RangeMut<'a, K, V>\", 1, [\"alloc::collections::btree::map::RangeMut\"]],\n- [\"impl<'a, K, V> !UnwindSafe for ValuesMut<'a, K, V>\", 1, [\"alloc::collections::btree::map::ValuesMut\"]],\n- [\"impl<'a, K, V> UnwindSafe for Cursor<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::Cursor\"]],\n- [\"impl<'a, K, V> UnwindSafe for Iter<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::Iter\"]],\n- [\"impl<'a, K, V> UnwindSafe for Keys<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::Keys\"]],\n- [\"impl<'a, K, V> UnwindSafe for Range<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::Range\"]],\n- [\"impl<'a, K, V> UnwindSafe for Values<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::Values\"]],\n- [\"impl<'a, K, V, A = Global> !UnwindSafe for Entry<'a, K, V, A>\", 1, [\"alloc::collections::btree::map::entry::Entry\"]],\n- [\"impl<'a, K, V, A = Global> !UnwindSafe for CursorMut<'a, K, V, A>\", 1, [\"alloc::collections::btree::map::CursorMut\"]],\n- [\"impl<'a, K, V, A = Global> !UnwindSafe for CursorMutKey<'a, K, V, A>\", 1, [\"alloc::collections::btree::map::CursorMutKey\"]],\n- [\"impl<'a, K, V, A = Global> !UnwindSafe for OccupiedEntry<'a, K, V, A>\", 1, [\"alloc::collections::btree::map::entry::OccupiedEntry\"]],\n- [\"impl<'a, K, V, A = Global> !UnwindSafe for OccupiedError<'a, K, V, A>\", 1, [\"alloc::collections::btree::map::entry::OccupiedError\"]],\n- [\"impl<'a, K, V, A = Global> !UnwindSafe for VacantEntry<'a, K, V, A>\", 1, [\"alloc::collections::btree::map::entry::VacantEntry\"]],\n- [\"impl<'a, K, V, F, A = Global> !UnwindSafe for ExtractIf<'a, K, V, F, A>\", 1, [\"alloc::collections::btree::map::ExtractIf\"]],\n- [\"impl<'a, T> !UnwindSafe for IterMut<'a, T>\", 1, [\"alloc::collections::linked_list::IterMut\"]],\n- [\"impl<'a, T> !UnwindSafe for IterMut<'a, T>\", 1, [\"alloc::collections::vec_deque::iter_mut::IterMut\"]],\n- [\"impl<'a, T> UnwindSafe for Iter<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::Iter\"]],\n- [\"impl<'a, T> UnwindSafe for Iter<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Iter\"]],\n- [\"impl<'a, T> UnwindSafe for Range<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Range\"]],\n- [\"impl<'a, T> UnwindSafe for SymmetricDifference<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::SymmetricDifference\"]],\n- [\"impl<'a, T> UnwindSafe for Union<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Union\"]],\n- [\"impl<'a, T> UnwindSafe for Iter<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::linked_list::Iter\"]],\n- [\"impl<'a, T> UnwindSafe for Iter<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::vec_deque::iter::Iter\"]],\n- [\"impl<'a, T, A = Global> !UnwindSafe for DrainSorted<'a, T, A>\", 1, [\"alloc::collections::binary_heap::DrainSorted\"]],\n- [\"impl<'a, T, A = Global> !UnwindSafe for PeekMut<'a, T, A>\", 1, [\"alloc::collections::binary_heap::PeekMut\"]],\n- [\"impl<'a, T, A = Global> !UnwindSafe for CursorMut<'a, T, A>\", 1, [\"alloc::collections::linked_list::CursorMut\"]],\n- [\"impl<'a, T, A> UnwindSafe for Drain<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::Drain\"]],\n- [\"impl<'a, T, A> UnwindSafe for Difference<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Difference\"]],\n- [\"impl<'a, T, A> UnwindSafe for Intersection<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Intersection\"]],\n- [\"impl<'a, T, A> UnwindSafe for Cursor<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::linked_list::Cursor\"]],\n- [\"impl<'a, T, A> UnwindSafe for Drain<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::vec_deque::drain::Drain\"]],\n- [\"impl<'a, T, A> UnwindSafe for Drain<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::vec::drain::Drain\"]],\n- [\"impl<'a, T, F, A = Global> !UnwindSafe for ExtractIf<'a, T, F, A>\", 1, [\"alloc::collections::btree::set::ExtractIf\"]],\n- [\"impl<'a, T, F, A = Global> !UnwindSafe for ExtractIf<'a, T, F, A>\", 1, [\"alloc::collections::linked_list::ExtractIf\"]],\n- [\"impl<'a, T, F, A = Global> !UnwindSafe for ExtractIf<'a, T, F, A>\", 1, [\"alloc::vec::extract_if::ExtractIf\"]],\n- [\"impl<K, V, A> UnwindSafe for BTreeMap<K, V, A>
      where\\n A: UnwindSafe + Allocator + Clone,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \"],\n- [\"impl<K, V, A> UnwindSafe for IntoIter<K, V, A>
      where\\n A: UnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::IntoIter\"]],\n- [\"impl<K, V, A> UnwindSafe for IntoKeys<K, V, A>
      where\\n A: UnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::IntoKeys\"]],\n- [\"impl<K, V, A> UnwindSafe for IntoValues<K, V, A>
      where\\n A: UnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::IntoValues\"]],\n- [\"impl<T> !UnwindSafe for UniqueRc<T>\", 1, [\"alloc::rc::UniqueRc\"]],\n- [\"impl<T, A = Global> !UnwindSafe for Weak<T, A>\", 1, [\"alloc::rc::Weak\"]],\n- [\"impl<T, A> UnwindSafe for BinaryHeap<T, A>
      where\\n A: UnwindSafe,\\n T: UnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::BinaryHeap\"]],\n- [\"impl<T, A> UnwindSafe for IntoIter<T, A>
      where\\n A: UnwindSafe,\\n T: UnwindSafe + RefUnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::IntoIter\"]],\n- [\"impl<T, A> UnwindSafe for IntoIterSorted<T, A>
      where\\n A: UnwindSafe,\\n T: UnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::IntoIterSorted\"]],\n- [\"impl<T, A> UnwindSafe for BTreeSet<T, A>
      where\\n A: UnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::BTreeSet\"]],\n- [\"impl<T, A> UnwindSafe for IntoIter<T, A>
      where\\n A: UnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::IntoIter\"]],\n- [\"impl<T, A> UnwindSafe for IntoIter<T, A>
      where\\n A: UnwindSafe,\\n T: UnwindSafe + RefUnwindSafe,
      \", 1, [\"alloc::collections::linked_list::IntoIter\"]],\n- [\"impl<T, A> UnwindSafe for LinkedList<T, A>
      where\\n A: UnwindSafe,\\n T: UnwindSafe + RefUnwindSafe,
      \", 1, [\"alloc::collections::linked_list::LinkedList\"]],\n- [\"impl<T, A> UnwindSafe for IntoIter<T, A>
      where\\n A: UnwindSafe,\\n T: UnwindSafe,
      \", 1, [\"alloc::collections::vec_deque::into_iter::IntoIter\"]],\n- [\"impl<T, A> UnwindSafe for VecDeque<T, A>
      where\\n A: UnwindSafe,\\n T: UnwindSafe,
      \", 1, [\"alloc::collections::vec_deque::VecDeque\"]],\n- [\"impl<T, A> UnwindSafe for IntoIter<T, A>
      where\\n A: UnwindSafe,\\n T: UnwindSafe + RefUnwindSafe,
      \", 1, [\"alloc::vec::into_iter::IntoIter\"]],\n- [\"impl<T, A> UnwindSafe for Vec<T, A>
      where\\n A: UnwindSafe,\\n T: UnwindSafe,
      \", 1, [\"alloc::vec::Vec\"]],\n- [\"impl<T: RefUnwindSafe + ?Sized, A: Allocator + UnwindSafe> UnwindSafe for Rc<T, A>\"],\n- [\"impl<T: RefUnwindSafe + ?Sized, A: Allocator + UnwindSafe> UnwindSafe for Arc<T, A>\"],\n- [\"impl<T: ?Sized> UnwindSafe for ThinBox<T>
      where\\n T: UnwindSafe,
      \", 1, [\"alloc::boxed::thin::ThinBox\"]],\n- [\"impl<T: ?Sized, A> UnwindSafe for Box<T, A>
      where\\n A: UnwindSafe,\\n T: UnwindSafe,
      \", 1, [\"alloc::boxed::Box\"]],\n- [\"impl<T: ?Sized, A> UnwindSafe for Weak<T, A>
      where\\n A: UnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::sync::Weak\"]]\n+ [\"impl UnwindSafe for TryReserveErrorKind\", 1, [\"alloc::collections::TryReserveErrorKind\"]],\n+ [\"impl UnwindSafe for Global\", 1, [\"alloc::alloc::Global\"]],\n+ [\"impl UnwindSafe for UnorderedKeyError\", 1, [\"alloc::collections::btree::map::UnorderedKeyError\"]],\n+ [\"impl UnwindSafe for TryReserveError\", 1, [\"alloc::collections::TryReserveError\"]],\n+ [\"impl UnwindSafe for FromVecWithNulError\", 1, [\"alloc::ffi::c_str::FromVecWithNulError\"]],\n+ [\"impl UnwindSafe for IntoStringError\", 1, [\"alloc::ffi::c_str::IntoStringError\"]],\n+ [\"impl UnwindSafe for NulError\", 1, [\"alloc::ffi::c_str::NulError\"]],\n+ [\"impl UnwindSafe for CString\", 1, [\"alloc::ffi::c_str::CString\"]],\n+ [\"impl UnwindSafe for FromUtf16Error\", 1, [\"alloc::string::FromUtf16Error\"]],\n+ [\"impl UnwindSafe for FromUtf8Error\", 1, [\"alloc::string::FromUtf8Error\"]],\n+ [\"impl UnwindSafe for String\", 1, [\"alloc::string::String\"]],\n+ [\"impl<'a> UnwindSafe for Drain<'a>\", 1, [\"alloc::string::Drain\"]],\n+ [\"impl<'a, B: ?Sized> UnwindSafe for Cow<'a, B>
      where\\n B: RefUnwindSafe,\\n <B as ToOwned>::Owned: UnwindSafe,
      \", 1, [\"alloc::borrow::Cow\"]],\n+ [\"impl<'a, I, A> UnwindSafe for Splice<'a, I, A>
      where\\n A: RefUnwindSafe,\\n I: UnwindSafe,\\n <I as Iterator>::Item: RefUnwindSafe,
      \", 1, [\"alloc::vec::splice::Splice\"]],\n+ [\"impl<'a, K, V> !UnwindSafe for IterMut<'a, K, V>\", 1, [\"alloc::collections::btree::map::IterMut\"]],\n+ [\"impl<'a, K, V> !UnwindSafe for RangeMut<'a, K, V>\", 1, [\"alloc::collections::btree::map::RangeMut\"]],\n+ [\"impl<'a, K, V> !UnwindSafe for ValuesMut<'a, K, V>\", 1, [\"alloc::collections::btree::map::ValuesMut\"]],\n+ [\"impl<'a, K, V> UnwindSafe for Cursor<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::Cursor\"]],\n+ [\"impl<'a, K, V> UnwindSafe for Iter<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::Iter\"]],\n+ [\"impl<'a, K, V> UnwindSafe for Keys<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::Keys\"]],\n+ [\"impl<'a, K, V> UnwindSafe for Range<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::Range\"]],\n+ [\"impl<'a, K, V> UnwindSafe for Values<'a, K, V>
      where\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::Values\"]],\n+ [\"impl<'a, K, V, A = Global> !UnwindSafe for Entry<'a, K, V, A>\", 1, [\"alloc::collections::btree::map::entry::Entry\"]],\n+ [\"impl<'a, K, V, A = Global> !UnwindSafe for CursorMut<'a, K, V, A>\", 1, [\"alloc::collections::btree::map::CursorMut\"]],\n+ [\"impl<'a, K, V, A = Global> !UnwindSafe for CursorMutKey<'a, K, V, A>\", 1, [\"alloc::collections::btree::map::CursorMutKey\"]],\n+ [\"impl<'a, K, V, A = Global> !UnwindSafe for OccupiedEntry<'a, K, V, A>\", 1, [\"alloc::collections::btree::map::entry::OccupiedEntry\"]],\n+ [\"impl<'a, K, V, A = Global> !UnwindSafe for OccupiedError<'a, K, V, A>\", 1, [\"alloc::collections::btree::map::entry::OccupiedError\"]],\n+ [\"impl<'a, K, V, A = Global> !UnwindSafe for VacantEntry<'a, K, V, A>\", 1, [\"alloc::collections::btree::map::entry::VacantEntry\"]],\n+ [\"impl<'a, K, V, F, A = Global> !UnwindSafe for ExtractIf<'a, K, V, F, A>\", 1, [\"alloc::collections::btree::map::ExtractIf\"]],\n+ [\"impl<'a, T> !UnwindSafe for IterMut<'a, T>\", 1, [\"alloc::collections::linked_list::IterMut\"]],\n+ [\"impl<'a, T> !UnwindSafe for IterMut<'a, T>\", 1, [\"alloc::collections::vec_deque::iter_mut::IterMut\"]],\n+ [\"impl<'a, T> UnwindSafe for Iter<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::Iter\"]],\n+ [\"impl<'a, T> UnwindSafe for Iter<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Iter\"]],\n+ [\"impl<'a, T> UnwindSafe for Range<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Range\"]],\n+ [\"impl<'a, T> UnwindSafe for SymmetricDifference<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::SymmetricDifference\"]],\n+ [\"impl<'a, T> UnwindSafe for Union<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Union\"]],\n+ [\"impl<'a, T> UnwindSafe for Iter<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::linked_list::Iter\"]],\n+ [\"impl<'a, T> UnwindSafe for Iter<'a, T>
      where\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::vec_deque::iter::Iter\"]],\n+ [\"impl<'a, T, A = Global> !UnwindSafe for DrainSorted<'a, T, A>\", 1, [\"alloc::collections::binary_heap::DrainSorted\"]],\n+ [\"impl<'a, T, A = Global> !UnwindSafe for PeekMut<'a, T, A>\", 1, [\"alloc::collections::binary_heap::PeekMut\"]],\n+ [\"impl<'a, T, A = Global> !UnwindSafe for CursorMut<'a, T, A>\", 1, [\"alloc::collections::linked_list::CursorMut\"]],\n+ [\"impl<'a, T, A> UnwindSafe for Drain<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::Drain\"]],\n+ [\"impl<'a, T, A> UnwindSafe for Difference<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Difference\"]],\n+ [\"impl<'a, T, A> UnwindSafe for Intersection<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::Intersection\"]],\n+ [\"impl<'a, T, A> UnwindSafe for Cursor<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::linked_list::Cursor\"]],\n+ [\"impl<'a, T, A> UnwindSafe for Drain<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::vec_deque::drain::Drain\"]],\n+ [\"impl<'a, T, A> UnwindSafe for Drain<'a, T, A>
      where\\n A: RefUnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::vec::drain::Drain\"]],\n+ [\"impl<'a, T, F, A = Global> !UnwindSafe for ExtractIf<'a, T, F, A>\", 1, [\"alloc::collections::btree::set::ExtractIf\"]],\n+ [\"impl<'a, T, F, A = Global> !UnwindSafe for ExtractIf<'a, T, F, A>\", 1, [\"alloc::collections::linked_list::ExtractIf\"]],\n+ [\"impl<'a, T, F, A = Global> !UnwindSafe for ExtractIf<'a, T, F, A>\", 1, [\"alloc::vec::extract_if::ExtractIf\"]],\n+ [\"impl<K, V, A> UnwindSafe for BTreeMap<K, V, A>
      where\\n A: UnwindSafe + Allocator + Clone,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \"],\n+ [\"impl<K, V, A> UnwindSafe for IntoIter<K, V, A>
      where\\n A: UnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::IntoIter\"]],\n+ [\"impl<K, V, A> UnwindSafe for IntoKeys<K, V, A>
      where\\n A: UnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::IntoKeys\"]],\n+ [\"impl<K, V, A> UnwindSafe for IntoValues<K, V, A>
      where\\n A: UnwindSafe,\\n K: RefUnwindSafe,\\n V: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::map::IntoValues\"]],\n+ [\"impl<T> !UnwindSafe for UniqueRc<T>\", 1, [\"alloc::rc::UniqueRc\"]],\n+ [\"impl<T, A = Global> !UnwindSafe for Weak<T, A>\", 1, [\"alloc::rc::Weak\"]],\n+ [\"impl<T, A> UnwindSafe for BinaryHeap<T, A>
      where\\n A: UnwindSafe,\\n T: UnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::BinaryHeap\"]],\n+ [\"impl<T, A> UnwindSafe for IntoIter<T, A>
      where\\n A: UnwindSafe,\\n T: UnwindSafe + RefUnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::IntoIter\"]],\n+ [\"impl<T, A> UnwindSafe for IntoIterSorted<T, A>
      where\\n A: UnwindSafe,\\n T: UnwindSafe,
      \", 1, [\"alloc::collections::binary_heap::IntoIterSorted\"]],\n+ [\"impl<T, A> UnwindSafe for BTreeSet<T, A>
      where\\n A: UnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::BTreeSet\"]],\n+ [\"impl<T, A> UnwindSafe for IntoIter<T, A>
      where\\n A: UnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::collections::btree::set::IntoIter\"]],\n+ [\"impl<T, A> UnwindSafe for IntoIter<T, A>
      where\\n A: UnwindSafe,\\n T: UnwindSafe + RefUnwindSafe,
      \", 1, [\"alloc::collections::linked_list::IntoIter\"]],\n+ [\"impl<T, A> UnwindSafe for LinkedList<T, A>
      where\\n A: UnwindSafe,\\n T: UnwindSafe + RefUnwindSafe,
      \", 1, [\"alloc::collections::linked_list::LinkedList\"]],\n+ [\"impl<T, A> UnwindSafe for IntoIter<T, A>
      where\\n A: UnwindSafe,\\n T: UnwindSafe,
      \", 1, [\"alloc::collections::vec_deque::into_iter::IntoIter\"]],\n+ [\"impl<T, A> UnwindSafe for VecDeque<T, A>
      where\\n A: UnwindSafe,\\n T: UnwindSafe,
      \", 1, [\"alloc::collections::vec_deque::VecDeque\"]],\n+ [\"impl<T, A> UnwindSafe for IntoIter<T, A>
      where\\n A: UnwindSafe,\\n T: UnwindSafe + RefUnwindSafe,
      \", 1, [\"alloc::vec::into_iter::IntoIter\"]],\n+ [\"impl<T, A> UnwindSafe for Vec<T, A>
      where\\n A: UnwindSafe,\\n T: UnwindSafe,
      \", 1, [\"alloc::vec::Vec\"]],\n+ [\"impl<T: RefUnwindSafe + ?Sized, A: Allocator + UnwindSafe> UnwindSafe for Rc<T, A>\"],\n+ [\"impl<T: RefUnwindSafe + ?Sized, A: Allocator + UnwindSafe> UnwindSafe for Arc<T, A>\"],\n+ [\"impl<T: ?Sized> UnwindSafe for ThinBox<T>
      where\\n T: UnwindSafe,
      \", 1, [\"alloc::boxed::thin::ThinBox\"]],\n+ [\"impl<T: ?Sized, A> UnwindSafe for Box<T, A>
      where\\n A: UnwindSafe,\\n T: UnwindSafe,
      \", 1, [\"alloc::boxed::Box\"]],\n+ [\"impl<T: ?Sized, A> UnwindSafe for Weak<T, A>
      where\\n A: UnwindSafe,\\n T: RefUnwindSafe,
      \", 1, [\"alloc::sync::Weak\"]]\n ],\n \"core\": [],\n \"proc_macro\": [\n [\"impl UnwindSafe for Delimiter\", 1, [\"proc_macro::Delimiter\"]],\n [\"impl UnwindSafe for Level\", 1, [\"proc_macro::diagnostic::Level\"]],\n [\"impl UnwindSafe for Spacing\", 1, [\"proc_macro::Spacing\"]],\n [\"impl UnwindSafe for TokenTree\", 1, [\"proc_macro::TokenTree\"]],\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/type.impl/alloc/alloc/struct.LayoutError.js", "source2": "./usr/share/doc/rust-web-doc/html/type.impl/alloc/alloc/struct.LayoutError.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,17 +1,17 @@\n (function() {\n var type_impls = {\n \"alloc\": [\n- [\"
      1.50.0 \u00b7 source\u00a7

      impl Clone for LayoutError

      source\u00a7

      fn clone(&self) -> LayoutError

      Returns a copy of the value. Read more
      1.0.0 \u00b7 source\u00a7

      fn clone_from(&mut self, source: &Self)

      Performs copy-assignment from source. Read more
      \", \"Clone\", \"alloc::alloc::LayoutErr\"],\n- [\"
      1.50.0 \u00b7 source\u00a7

      impl Debug for LayoutError

      source\u00a7

      fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

      Formats the value using the given formatter. Read more
      \", \"Debug\", \"alloc::alloc::LayoutErr\"],\n- [\"
      source\u00a7

      impl Display for LayoutError

      source\u00a7

      fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

      Formats the value using the given formatter. Read more
      \", \"Display\", \"alloc::alloc::LayoutErr\"],\n- [\"
      source\u00a7

      impl Error for LayoutError

      1.30.0 \u00b7 source\u00a7

      fn source(&self) -> Option<&(dyn Error + 'static)>

      The lower-level source of this error, if any. Read more
      1.0.0 \u00b7 source\u00a7

      fn description(&self) -> &str

      \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
      1.0.0 \u00b7 source\u00a7

      fn cause(&self) -> Option<&dyn Error>

      \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
      source\u00a7

      fn provide<'a>(&'a self, request: &mut Request<'a>)

      \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
      Provides type based access to context intended for error reports. Read more
      \", \"Error\", \"alloc::alloc::LayoutErr\"],\n- [\"
      1.50.0 \u00b7 source\u00a7

      impl PartialEq for LayoutError

      source\u00a7

      fn eq(&self, other: &LayoutError) -> bool

      This method tests for self and other values to be equal, and is used\\nby ==.
      1.0.0 \u00b7 source\u00a7

      fn ne(&self, other: &Rhs) -> bool

      This method tests for !=. The default implementation is almost always\\nsufficient, and should not be overridden without very good reason.
      \", \"PartialEq\", \"alloc::alloc::LayoutErr\"],\n- [\"
      1.50.0 \u00b7 source\u00a7

      impl Eq for LayoutError

      \", \"Eq\", \"alloc::alloc::LayoutErr\"],\n- [\"
      1.50.0 \u00b7 source\u00a7

      impl StructuralPartialEq for LayoutError

      \", \"StructuralPartialEq\", \"alloc::alloc::LayoutErr\"]\n+ [\"
      1.50.0 \u00b7 source\u00a7

      impl Clone for LayoutError

      source\u00a7

      fn clone(&self) -> LayoutError

      Returns a copy of the value. Read more
      1.0.0 \u00b7 source\u00a7

      fn clone_from(&mut self, source: &Self)

      Performs copy-assignment from source. Read more
      \", \"Clone\", \"alloc::alloc::LayoutErr\"],\n+ [\"
      1.50.0 \u00b7 source\u00a7

      impl Debug for LayoutError

      source\u00a7

      fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

      Formats the value using the given formatter. Read more
      \", \"Debug\", \"alloc::alloc::LayoutErr\"],\n+ [\"
      source\u00a7

      impl Display for LayoutError

      source\u00a7

      fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

      Formats the value using the given formatter. Read more
      \", \"Display\", \"alloc::alloc::LayoutErr\"],\n+ [\"
      source\u00a7

      impl Error for LayoutError

      1.30.0 \u00b7 source\u00a7

      fn source(&self) -> Option<&(dyn Error + 'static)>

      The lower-level source of this error, if any. Read more
      1.0.0 \u00b7 source\u00a7

      fn description(&self) -> &str

      \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
      1.0.0 \u00b7 source\u00a7

      fn cause(&self) -> Option<&dyn Error>

      \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
      source\u00a7

      fn provide<'a>(&'a self, request: &mut Request<'a>)

      \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
      Provides type based access to context intended for error reports. Read more
      \", \"Error\", \"alloc::alloc::LayoutErr\"],\n+ [\"
      1.50.0 \u00b7 source\u00a7

      impl PartialEq for LayoutError

      source\u00a7

      fn eq(&self, other: &LayoutError) -> bool

      This method tests for self and other values to be equal, and is used\\nby ==.
      1.0.0 \u00b7 source\u00a7

      fn ne(&self, other: &Rhs) -> bool

      This method tests for !=. The default implementation is almost always\\nsufficient, and should not be overridden without very good reason.
      \", \"PartialEq\", \"alloc::alloc::LayoutErr\"],\n+ [\"
      1.50.0 \u00b7 source\u00a7

      impl Eq for LayoutError

      \", \"Eq\", \"alloc::alloc::LayoutErr\"],\n+ [\"
      1.50.0 \u00b7 source\u00a7

      impl StructuralPartialEq for LayoutError

      \", \"StructuralPartialEq\", \"alloc::alloc::LayoutErr\"]\n ]\n };\n if (window.register_type_impls) {\n window.register_type_impls(type_impls);\n } else {\n window.pending_type_impls = type_impls;\n }\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/type.impl/core/convert/enum.Infallible.js", "source2": "./usr/share/doc/rust-web-doc/html/type.impl/core/convert/enum.Infallible.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,21 +1,21 @@\n (function() {\n var type_impls = {\n \"alloc\": [\n- [\"
      1.34.0 \u00b7 source\u00a7

      impl Clone for Infallible

      source\u00a7

      fn clone(&self) -> Infallible

      Returns a copy of the value. Read more
      1.0.0 \u00b7 source\u00a7

      fn clone_from(&mut self, source: &Self)

      Performs copy-assignment from source. Read more
      \", \"Clone\", \"alloc::string::ParseError\"],\n- [\"
      1.34.0 \u00b7 source\u00a7

      impl Debug for Infallible

      source\u00a7

      fn fmt(&self, _: &mut Formatter<'_>) -> Result<(), Error>

      Formats the value using the given formatter. Read more
      \", \"Debug\", \"alloc::string::ParseError\"],\n- [\"
      1.34.0 \u00b7 source\u00a7

      impl Display for Infallible

      source\u00a7

      fn fmt(&self, _: &mut Formatter<'_>) -> Result<(), Error>

      Formats the value using the given formatter. Read more
      \", \"Display\", \"alloc::string::ParseError\"],\n- [\"
      1.8.0 \u00b7 source\u00a7

      impl Error for Infallible

      source\u00a7

      fn description(&self) -> &str

      \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
      1.30.0 \u00b7 source\u00a7

      fn source(&self) -> Option<&(dyn Error + 'static)>

      The lower-level source of this error, if any. Read more
      1.0.0 \u00b7 source\u00a7

      fn cause(&self) -> Option<&dyn Error>

      \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
      source\u00a7

      fn provide<'a>(&'a self, request: &mut Request<'a>)

      \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
      Provides type based access to context intended for error reports. Read more
      \", \"Error\", \"alloc::string::ParseError\"],\n- [\"
      1.34.0 \u00b7 source\u00a7

      impl From<!> for Infallible

      source\u00a7

      fn from(x: !) -> Infallible

      Converts to this type from the input type.
      \", \"From\", \"alloc::string::ParseError\"],\n- [\"
      1.44.0 \u00b7 source\u00a7

      impl Hash for Infallible

      source\u00a7

      fn hash<H>(&self, _: &mut H)
      where\\n H: Hasher,

      Feeds this value into the given Hasher. Read more
      1.3.0 \u00b7 source\u00a7

      fn hash_slice<H>(data: &[Self], state: &mut H)
      where\\n H: Hasher,\\n Self: Sized,

      Feeds a slice of this type into the given Hasher. Read more
      \", \"Hash\", \"alloc::string::ParseError\"],\n- [\"
      1.34.0 \u00b7 source\u00a7

      impl Ord for Infallible

      source\u00a7

      fn cmp(&self, _other: &Infallible) -> Ordering

      This method returns an Ordering between self and other. Read more
      1.21.0 \u00b7 source\u00a7

      fn max(self, other: Self) -> Self
      where\\n Self: Sized,

      Compares and returns the maximum of two values. Read more
      1.21.0 \u00b7 source\u00a7

      fn min(self, other: Self) -> Self
      where\\n Self: Sized,

      Compares and returns the minimum of two values. Read more
      1.50.0 \u00b7 source\u00a7

      fn clamp(self, min: Self, max: Self) -> Self
      where\\n Self: Sized + PartialOrd,

      Restrict a value to a certain interval. Read more
      \", \"Ord\", \"alloc::string::ParseError\"],\n- [\"
      1.34.0 \u00b7 source\u00a7

      impl PartialEq for Infallible

      source\u00a7

      fn eq(&self, _: &Infallible) -> bool

      This method tests for self and other values to be equal, and is used\\nby ==.
      1.0.0 \u00b7 source\u00a7

      fn ne(&self, other: &Rhs) -> bool

      This method tests for !=. The default implementation is almost always\\nsufficient, and should not be overridden without very good reason.
      \", \"PartialEq\", \"alloc::string::ParseError\"],\n- [\"
      1.34.0 \u00b7 source\u00a7

      impl PartialOrd for Infallible

      source\u00a7

      fn partial_cmp(&self, _other: &Infallible) -> Option<Ordering>

      This method returns an ordering between self and other values if one exists. Read more
      1.0.0 \u00b7 source\u00a7

      fn lt(&self, other: &Rhs) -> bool

      This method tests less than (for self and other) and is used by the < operator. Read more
      1.0.0 \u00b7 source\u00a7

      fn le(&self, other: &Rhs) -> bool

      This method tests less than or equal to (for self and other) and is used by the <=\\noperator. Read more
      1.0.0 \u00b7 source\u00a7

      fn gt(&self, other: &Rhs) -> bool

      This method tests greater than (for self and other) and is used by the > operator. Read more
      1.0.0 \u00b7 source\u00a7

      fn ge(&self, other: &Rhs) -> bool

      This method tests greater than or equal to (for self and other) and is used by the >=\\noperator. Read more
      \", \"PartialOrd\", \"alloc::string::ParseError\"],\n- [\"
      1.34.0 \u00b7 source\u00a7

      impl Copy for Infallible

      \", \"Copy\", \"alloc::string::ParseError\"],\n- [\"
      1.34.0 \u00b7 source\u00a7

      impl Eq for Infallible

      \", \"Eq\", \"alloc::string::ParseError\"]\n+ [\"
      1.34.0 \u00b7 source\u00a7

      impl Clone for Infallible

      source\u00a7

      fn clone(&self) -> Infallible

      Returns a copy of the value. Read more
      1.0.0 \u00b7 source\u00a7

      fn clone_from(&mut self, source: &Self)

      Performs copy-assignment from source. Read more
      \", \"Clone\", \"alloc::string::ParseError\"],\n+ [\"
      1.34.0 \u00b7 source\u00a7

      impl Debug for Infallible

      source\u00a7

      fn fmt(&self, _: &mut Formatter<'_>) -> Result<(), Error>

      Formats the value using the given formatter. Read more
      \", \"Debug\", \"alloc::string::ParseError\"],\n+ [\"
      1.34.0 \u00b7 source\u00a7

      impl Display for Infallible

      source\u00a7

      fn fmt(&self, _: &mut Formatter<'_>) -> Result<(), Error>

      Formats the value using the given formatter. Read more
      \", \"Display\", \"alloc::string::ParseError\"],\n+ [\"
      1.8.0 \u00b7 source\u00a7

      impl Error for Infallible

      source\u00a7

      fn description(&self) -> &str

      \ud83d\udc4eDeprecated since 1.42.0: use the Display impl or to_string()
      1.30.0 \u00b7 source\u00a7

      fn source(&self) -> Option<&(dyn Error + 'static)>

      The lower-level source of this error, if any. Read more
      1.0.0 \u00b7 source\u00a7

      fn cause(&self) -> Option<&dyn Error>

      \ud83d\udc4eDeprecated since 1.33.0: replaced by Error::source, which can support downcasting
      source\u00a7

      fn provide<'a>(&'a self, request: &mut Request<'a>)

      \ud83d\udd2cThis is a nightly-only experimental API. (error_generic_member_access #99301)
      Provides type based access to context intended for error reports. Read more
      \", \"Error\", \"alloc::string::ParseError\"],\n+ [\"
      1.34.0 \u00b7 source\u00a7

      impl From<!> for Infallible

      source\u00a7

      fn from(x: !) -> Infallible

      Converts to this type from the input type.
      \", \"From\", \"alloc::string::ParseError\"],\n+ [\"
      1.44.0 \u00b7 source\u00a7

      impl Hash for Infallible

      source\u00a7

      fn hash<H>(&self, _: &mut H)
      where\\n H: Hasher,

      Feeds this value into the given Hasher. Read more
      1.3.0 \u00b7 source\u00a7

      fn hash_slice<H>(data: &[Self], state: &mut H)
      where\\n H: Hasher,\\n Self: Sized,

      Feeds a slice of this type into the given Hasher. Read more
      \", \"Hash\", \"alloc::string::ParseError\"],\n+ [\"
      1.34.0 \u00b7 source\u00a7

      impl Ord for Infallible

      source\u00a7

      fn cmp(&self, _other: &Infallible) -> Ordering

      This method returns an Ordering between self and other. Read more
      1.21.0 \u00b7 source\u00a7

      fn max(self, other: Self) -> Self
      where\\n Self: Sized,

      Compares and returns the maximum of two values. Read more
      1.21.0 \u00b7 source\u00a7

      fn min(self, other: Self) -> Self
      where\\n Self: Sized,

      Compares and returns the minimum of two values. Read more
      1.50.0 \u00b7 source\u00a7

      fn clamp(self, min: Self, max: Self) -> Self
      where\\n Self: Sized + PartialOrd,

      Restrict a value to a certain interval. Read more
      \", \"Ord\", \"alloc::string::ParseError\"],\n+ [\"
      1.34.0 \u00b7 source\u00a7

      impl PartialEq for Infallible

      source\u00a7

      fn eq(&self, _: &Infallible) -> bool

      This method tests for self and other values to be equal, and is used\\nby ==.
      1.0.0 \u00b7 source\u00a7

      fn ne(&self, other: &Rhs) -> bool

      This method tests for !=. The default implementation is almost always\\nsufficient, and should not be overridden without very good reason.
      \", \"PartialEq\", \"alloc::string::ParseError\"],\n+ [\"
      1.34.0 \u00b7 source\u00a7

      impl PartialOrd for Infallible

      source\u00a7

      fn partial_cmp(&self, _other: &Infallible) -> Option<Ordering>

      This method returns an ordering between self and other values if one exists. Read more
      1.0.0 \u00b7 source\u00a7

      fn lt(&self, other: &Rhs) -> bool

      This method tests less than (for self and other) and is used by the < operator. Read more
      1.0.0 \u00b7 source\u00a7

      fn le(&self, other: &Rhs) -> bool

      This method tests less than or equal to (for self and other) and is used by the <=\\noperator. Read more
      1.0.0 \u00b7 source\u00a7

      fn gt(&self, other: &Rhs) -> bool

      This method tests greater than (for self and other) and is used by the > operator. Read more
      1.0.0 \u00b7 source\u00a7

      fn ge(&self, other: &Rhs) -> bool

      This method tests greater than or equal to (for self and other) and is used by the >=\\noperator. Read more
      \", \"PartialOrd\", \"alloc::string::ParseError\"],\n+ [\"
      1.34.0 \u00b7 source\u00a7

      impl Copy for Infallible

      \", \"Copy\", \"alloc::string::ParseError\"],\n+ [\"
      1.34.0 \u00b7 source\u00a7

      impl Eq for Infallible

      \", \"Eq\", \"alloc::string::ParseError\"]\n ]\n };\n if (window.register_type_impls) {\n window.register_type_impls(type_impls);\n } else {\n window.pending_type_impls = type_impls;\n }\n"}]}, {"source1": "./usr/share/doc/rust-web-doc/html/type.impl/core/result/enum.Result.js", "source2": "./usr/share/doc/rust-web-doc/html/type.impl/core/result/enum.Result.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1,27 +1,27 @@\n (function() {\n var type_impls = {\n \"alloc\": [\n- [\"
      source\u00a7

      impl<T, E> Clone for Result<T, E>
      where\\n T: Clone,\\n E: Clone,

      source\u00a7

      fn clone(&self) -> Result<T, E>

      Returns a copy of the value. Read more
      source\u00a7

      fn clone_from(&mut self, source: &Result<T, E>)

      Performs copy-assignment from source. Read more
      \", \"Clone\", \"alloc::fmt::Result\"],\n- [\"
      source\u00a7

      impl<T, E> Debug for Result<T, E>
      where\\n T: Debug,\\n E: Debug,

      source\u00a7

      fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

      Formats the value using the given formatter. Read more
      \", \"Debug\", \"alloc::fmt::Result\"],\n- [\"
      source\u00a7

      impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>
      where\\n V: FromIterator<A>,

      source\u00a7

      fn from_iter<I>(iter: I) -> Result<V, E>
      where\\n I: IntoIterator<Item = Result<A, E>>,

      Takes each element in the Iterator: if it is an Err, no further\\nelements are taken, and the Err is returned. Should no Err occur, a\\ncontainer with the values of each Result is returned.

      \\n

      Here is an example which increments every integer in a vector,\\nchecking for overflow:

      \\n\\n
      let v = vec![1, 2];\\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\\n    x.checked_add(1).ok_or(\\\"Overflow!\\\")\\n).collect();\\nassert_eq!(res, Ok(vec![2, 3]));
      Run
      \\n

      Here is another example that tries to subtract one from another list\\nof integers, this time checking for underflow:

      \\n\\n
      let v = vec![1, 2, 0];\\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\\n    x.checked_sub(1).ok_or(\\\"Underflow!\\\")\\n).collect();\\nassert_eq!(res, Err(\\\"Underflow!\\\"));
      Run
      \\n

      Here is a variation on the previous example, showing that no\\nfurther elements are taken from iter after the first Err.

      \\n\\n
      let v = vec![3, 2, 1, 10];\\nlet mut shared = 0;\\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\\n    shared += x;\\n    x.checked_sub(2).ok_or(\\\"Underflow!\\\")\\n}).collect();\\nassert_eq!(res, Err(\\\"Underflow!\\\"));\\nassert_eq!(shared, 6);
      Run
      \\n

      Since the third element caused an underflow, no further elements were taken,\\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

      \\n
      \", \"FromIterator>\", \"alloc::fmt::Result\"],\n- [\"
      source\u00a7

      impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>
      where\\n F: From<E>,

      source\u00a7

      fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

      \ud83d\udd2cThis is a nightly-only experimental API. (try_trait_v2 #84277)
      Constructs the type from a compatible Residual type. Read more
      \", \"FromResidual>\", \"alloc::fmt::Result\"],\n- [\"
      source\u00a7

      impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>
      where\\n F: From<E>,

      source\u00a7

      fn from_residual(_: Yeet<E>) -> Result<T, F>

      \ud83d\udd2cThis is a nightly-only experimental API. (try_trait_v2 #84277)
      Constructs the type from a compatible Residual type. Read more
      \", \"FromResidual>\", \"alloc::fmt::Result\"],\n- [\"
      source\u00a7

      impl<T, E> Hash for Result<T, E>
      where\\n T: Hash,\\n E: Hash,

      source\u00a7

      fn hash<__H>(&self, state: &mut __H)
      where\\n __H: Hasher,

      Feeds this value into the given Hasher. Read more
      1.3.0 \u00b7 source\u00a7

      fn hash_slice<H>(data: &[Self], state: &mut H)
      where\\n H: Hasher,\\n Self: Sized,

      Feeds a slice of this type into the given Hasher. Read more
      \", \"Hash\", \"alloc::fmt::Result\"],\n- [\"
      source\u00a7

      impl<T, E> IntoIterator for Result<T, E>

      source\u00a7

      fn into_iter(self) -> IntoIter<T>

      Returns a consuming iterator over the possibly contained value.

      \\n

      The iterator yields one value if the result is Result::Ok, otherwise none.

      \\n
      \u00a7Examples
      \\n
      let x: Result<u32, &str> = Ok(5);\\nlet v: Vec<u32> = x.into_iter().collect();\\nassert_eq!(v, [5]);\\n\\nlet x: Result<u32, &str> = Err(\\\"nothing!\\\");\\nlet v: Vec<u32> = x.into_iter().collect();\\nassert_eq!(v, []);
      Run
      \\n
      \u00a7

      type Item = T

      The type of the elements being iterated over.
      \u00a7

      type IntoIter = IntoIter<T>

      Which kind of iterator are we turning this into?
      \", \"IntoIterator\", \"alloc::fmt::Result\"],\n- [\"
      source\u00a7

      impl<T, E> Ord for Result<T, E>
      where\\n T: Ord,\\n E: Ord,

      source\u00a7

      fn cmp(&self, other: &Result<T, E>) -> Ordering

      This method returns an Ordering between self and other. Read more
      1.21.0 \u00b7 source\u00a7

      fn max(self, other: Self) -> Self
      where\\n Self: Sized,

      Compares and returns the maximum of two values. Read more
      1.21.0 \u00b7 source\u00a7

      fn min(self, other: Self) -> Self
      where\\n Self: Sized,

      Compares and returns the minimum of two values. Read more
      1.50.0 \u00b7 source\u00a7

      fn clamp(self, min: Self, max: Self) -> Self
      where\\n Self: Sized + PartialOrd,

      Restrict a value to a certain interval. Read more
      \", \"Ord\", \"alloc::fmt::Result\"],\n- [\"
      source\u00a7

      impl<T, E> PartialEq for Result<T, E>
      where\\n T: PartialEq,\\n E: PartialEq,

      source\u00a7

      fn eq(&self, other: &Result<T, E>) -> bool

      This method tests for self and other values to be equal, and is used\\nby ==.
      source\u00a7

      fn ne(&self, other: &Rhs) -> bool

      This method tests for !=. The default implementation is almost always\\nsufficient, and should not be overridden without very good reason.
      \", \"PartialEq\", \"alloc::fmt::Result\"],\n- [\"
      source\u00a7

      impl<T, E> PartialOrd for Result<T, E>
      where\\n T: PartialOrd,\\n E: PartialOrd,

      source\u00a7

      fn partial_cmp(&self, other: &Result<T, E>) -> Option<Ordering>

      This method returns an ordering between self and other values if one exists. Read more
      source\u00a7

      fn lt(&self, other: &Rhs) -> bool

      This method tests less than (for self and other) and is used by the < operator. Read more
      source\u00a7

      fn le(&self, other: &Rhs) -> bool

      This method tests less than or equal to (for self and other) and is used by the <=\\noperator. Read more
      source\u00a7

      fn gt(&self, other: &Rhs) -> bool

      This method tests greater than (for self and other) and is used by the > operator. Read more
      source\u00a7

      fn ge(&self, other: &Rhs) -> bool

      This method tests greater than or equal to (for self and other) and is used by the >=\\noperator. Read more
      \", \"PartialOrd\", \"alloc::fmt::Result\"],\n- [\"
      1.16.0 \u00b7 source\u00a7

      impl<T, U, E> Product<Result<U, E>> for Result<T, E>
      where\\n T: Product<U>,

      source\u00a7

      fn product<I>(iter: I) -> Result<T, E>
      where\\n I: Iterator<Item = Result<U, E>>,

      Takes each element in the Iterator: if it is an Err, no further\\nelements are taken, and the Err is returned. Should no Err\\noccur, the product of all elements is returned.

      \\n
      \u00a7Examples
      \\n

      This multiplies each number in a vector of strings,\\nif a string could not be parsed the operation returns Err:

      \\n\\n
      let nums = vec![\\\"5\\\", \\\"10\\\", \\\"1\\\", \\\"2\\\"];\\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\\nassert_eq!(total, Ok(100));\\nlet nums = vec![\\\"5\\\", \\\"10\\\", \\\"one\\\", \\\"2\\\"];\\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\\nassert!(total.is_err());
      Run
      \\n
      \", \"Product>\", \"alloc::fmt::Result\"],\n- [\"
      source\u00a7

      impl<T, E> Result<T, E>

      const: 1.48.0 \u00b7 source

      pub const fn is_ok(&self) -> bool

      Returns true if the result is Ok.

      \\n
      \u00a7Examples
      \\n
      let x: Result<i32, &str> = Ok(-3);\\nassert_eq!(x.is_ok(), true);\\n\\nlet x: Result<i32, &str> = Err(\\\"Some error message\\\");\\nassert_eq!(x.is_ok(), false);
      Run
      \\n
      1.70.0 \u00b7 source

      pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

      Returns true if the result is Ok and the value inside of it matches a predicate.

      \\n
      \u00a7Examples
      \\n
      let x: Result<u32, &str> = Ok(2);\\nassert_eq!(x.is_ok_and(|x| x > 1), true);\\n\\nlet x: Result<u32, &str> = Ok(0);\\nassert_eq!(x.is_ok_and(|x| x > 1), false);\\n\\nlet x: Result<u32, &str> = Err(\\\"hey\\\");\\nassert_eq!(x.is_ok_and(|x| x > 1), false);
      Run
      \\n
      const: 1.48.0 \u00b7 source

      pub const fn is_err(&self) -> bool

      Returns true if the result is Err.

      \\n
      \u00a7Examples
      \\n
      let x: Result<i32, &str> = Ok(-3);\\nassert_eq!(x.is_err(), false);\\n\\nlet x: Result<i32, &str> = Err(\\\"Some error message\\\");\\nassert_eq!(x.is_err(), true);
      Run
      \\n
      1.70.0 \u00b7 source

      pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

      Returns true if the result is Err and the value inside of it matches a predicate.

      \\n
      \u00a7Examples
      \\n
      use std::io::{Error, ErrorKind};\\n\\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, \\\"!\\\"));\\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\\n\\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, \\\"!\\\"));\\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\\n\\nlet x: Result<u32, Error> = Ok(123);\\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
      Run
      \\n
      source

      pub fn ok(self) -> Option<T>

      Converts from Result<T, E> to Option<T>.

      \\n

      Converts self into an Option<T>, consuming self,\\nand discarding the error, if any.

      \\n
      \u00a7Examples
      \\n
      let x: Result<u32, &str> = Ok(2);\\nassert_eq!(x.ok(), Some(2));\\n\\nlet x: Result<u32, &str> = Err(\\\"Nothing here\\\");\\nassert_eq!(x.ok(), None);
      Run
      \\n
      source

      pub fn err(self) -> Option<E>

      Converts from Result<T, E> to Option<E>.

      \\n

      Converts self into an Option<E>, consuming self,\\nand discarding the success value, if any.

      \\n
      \u00a7Examples
      \\n
      let x: Result<u32, &str> = Ok(2);\\nassert_eq!(x.err(), None);\\n\\nlet x: Result<u32, &str> = Err(\\\"Nothing here\\\");\\nassert_eq!(x.err(), Some(\\\"Nothing here\\\"));
      Run
      \\n
      const: 1.48.0 \u00b7 source

      pub const fn as_ref(&self) -> Result<&T, &E>

      Converts from &Result<T, E> to Result<&T, &E>.

      \\n

      Produces a new Result, containing a reference\\ninto the original, leaving the original in place.

      \\n
      \u00a7Examples
      \\n
      let x: Result<u32, &str> = Ok(2);\\nassert_eq!(x.as_ref(), Ok(&2));\\n\\nlet x: Result<u32, &str> = Err(\\\"Error\\\");\\nassert_eq!(x.as_ref(), Err(&\\\"Error\\\"));
      Run
      \\n
      const: unstable \u00b7 source

      pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

      Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

      \\n
      \u00a7Examples
      \\n
      fn mutate(r: &mut Result<i32, i32>) {\\n    match r.as_mut() {\\n        Ok(v) => *v = 42,\\n        Err(e) => *e = 0,\\n    }\\n}\\n\\nlet mut x: Result<i32, i32> = Ok(2);\\nmutate(&mut x);\\nassert_eq!(x.unwrap(), 42);\\n\\nlet mut x: Result<i32, i32> = Err(13);\\nmutate(&mut x);\\nassert_eq!(x.unwrap_err(), 0);
      Run
      \\n
      source

      pub fn map<U, F>(self, op: F) -> Result<U, E>
      where\\n F: FnOnce(T) -> U,

      Maps a Result<T, E> to Result<U, E> by applying a function to a\\ncontained Ok value, leaving an Err value untouched.

      \\n

      This function can be used to compose the results of two functions.

      \\n
      \u00a7Examples
      \\n

      Print the numbers on each line of a string multiplied by two.

      \\n\\n
      let line = \\\"1\\\\n2\\\\n3\\\\n4\\\\n\\\";\\n\\nfor num in line.lines() {\\n    match num.parse::<i32>().map(|i| i * 2) {\\n        Ok(n) => println!(\\\"{n}\\\"),\\n        Err(..) => {}\\n    }\\n}
      Run
      \\n
      1.41.0 \u00b7 source

      pub fn map_or<U, F>(self, default: U, f: F) -> U
      where\\n F: FnOnce(T) -> U,

      Returns the provided default (if Err), or\\napplies a function to the contained value (if Ok).

      \\n

      Arguments passed to map_or are eagerly evaluated; if you are passing\\nthe result of a function call, it is recommended to use map_or_else,\\nwhich is lazily evaluated.

      \\n
      \u00a7Examples
      \\n
      let x: Result<_, &str> = Ok(\\\"foo\\\");\\nassert_eq!(x.map_or(42, |v| v.len()), 3);\\n\\nlet x: Result<&str, _> = Err(\\\"bar\\\");\\nassert_eq!(x.map_or(42, |v| v.len()), 42);
      Run
      \\n
      1.41.0 \u00b7 source

      pub fn map_or_else<U, D, F>(self, default: D, f: F) -> U
      where\\n D: FnOnce(E) -> U,\\n F: FnOnce(T) -> U,

      Maps a Result<T, E> to U by applying fallback function default to\\na contained Err value, or function f to a contained Ok value.

      \\n

      This function can be used to unpack a successful result\\nwhile handling an error.

      \\n
      \u00a7Examples
      \\n
      let k = 21;\\n\\nlet x : Result<_, &str> = Ok(\\\"foo\\\");\\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\\n\\nlet x : Result<&str, _> = Err(\\\"bar\\\");\\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
      Run
      \\n
      source

      pub fn map_err<F, O>(self, op: O) -> Result<T, F>
      where\\n O: FnOnce(E) -> F,

      Maps a Result<T, E> to Result<T, F> by applying a function to a\\ncontained Err value, leaving an Ok value untouched.

      \\n

      This function can be used to pass through a successful result while handling\\nan error.

      \\n
      \u00a7Examples
      \\n
      fn stringify(x: u32) -> String { format!(\\\"error code: {x}\\\") }\\n\\nlet x: Result<u32, u32> = Ok(2);\\nassert_eq!(x.map_err(stringify), Ok(2));\\n\\nlet x: Result<u32, u32> = Err(13);\\nassert_eq!(x.map_err(stringify), Err(\\\"error code: 13\\\".to_string()));
      Run
      \\n
      1.76.0 \u00b7 source

      pub fn inspect<F>(self, f: F) -> Result<T, E>
      where\\n F: FnOnce(&T),

      Calls a function with a reference to the contained value if Ok.

      \\n

      Returns the original result.

      \\n
      \u00a7Examples
      \\n
      let x: u8 = \\\"4\\\"\\n    .parse::<u8>()\\n    .inspect(|x| println!(\\\"original: {x}\\\"))\\n    .map(|x| x.pow(3))\\n    .expect(\\\"failed to parse number\\\");
      Run
      \\n
      1.76.0 \u00b7 source

      pub fn inspect_err<F>(self, f: F) -> Result<T, E>
      where\\n F: FnOnce(&E),

      Calls a function with a reference to the contained value if Err.

      \\n

      Returns the original result.

      \\n
      \u00a7Examples
      \\n
      use std::{fs, io};\\n\\nfn read() -> io::Result<String> {\\n    fs::read_to_string(\\\"address.txt\\\")\\n        .inspect_err(|e| eprintln!(\\\"failed to read file: {e}\\\"))\\n}
      Run
      \\n
      1.47.0 \u00b7 source

      pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>
      where\\n T: Deref,

      Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

      \\n

      Coerces the Ok variant of the original Result via Deref\\nand returns the new Result.

      \\n
      \u00a7Examples
      \\n
      let x: Result<String, u32> = Ok(\\\"hello\\\".to_string());\\nlet y: Result<&str, &u32> = Ok(\\\"hello\\\");\\nassert_eq!(x.as_deref(), y);\\n\\nlet x: Result<String, u32> = Err(42);\\nlet y: Result<&str, &u32> = Err(&42);\\nassert_eq!(x.as_deref(), y);
      Run
      \\n
      1.47.0 \u00b7 source

      pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>
      where\\n T: DerefMut,

      Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

      \\n

      Coerces the Ok variant of the original Result via DerefMut\\nand returns the new Result.

      \\n
      \u00a7Examples
      \\n
      let mut s = \\\"HELLO\\\".to_string();\\nlet mut x: Result<String, u32> = Ok(\\\"hello\\\".to_string());\\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\\n\\nlet mut i = 42;\\nlet mut x: Result<String, u32> = Err(42);\\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
      Run
      \\n
      source

      pub fn iter(&self) -> Iter<'_, T>

      Returns an iterator over the possibly contained value.

      \\n

      The iterator yields one value if the result is Result::Ok, otherwise none.

      \\n
      \u00a7Examples
      \\n
      let x: Result<u32, &str> = Ok(7);\\nassert_eq!(x.iter().next(), Some(&7));\\n\\nlet x: Result<u32, &str> = Err(\\\"nothing!\\\");\\nassert_eq!(x.iter().next(), None);
      Run
      \\n
      source

      pub fn iter_mut(&mut self) -> IterMut<'_, T>

      Returns a mutable iterator over the possibly contained value.

      \\n

      The iterator yields one value if the result is Result::Ok, otherwise none.

      \\n
      \u00a7Examples
      \\n
      let mut x: Result<u32, &str> = Ok(7);\\nmatch x.iter_mut().next() {\\n    Some(v) => *v = 40,\\n    None => {},\\n}\\nassert_eq!(x, Ok(40));\\n\\nlet mut x: Result<u32, &str> = Err(\\\"nothing!\\\");\\nassert_eq!(x.iter_mut().next(), None);
      Run
      \\n
      1.4.0 \u00b7 source

      pub fn expect(self, msg: &str) -> T
      where\\n E: Debug,

      Returns the contained Ok value, consuming the self value.

      \\n

      Because this function may panic, its use is generally discouraged.\\nInstead, prefer to use pattern matching and handle the Err\\ncase explicitly, or call unwrap_or, unwrap_or_else, or\\nunwrap_or_default.

      \\n
      \u00a7Panics
      \\n

      Panics if the value is an Err, with a panic message including the\\npassed message, and the content of the Err.

      \\n
      \u00a7Examples
      \\n
      \u24d8
      let x: Result<u32, &str> = Err(\\\"emergency failure\\\");\\nx.expect(\\\"Testing expect\\\"); // panics with `Testing expect: emergency failure`
      Run
      \\n
      \u00a7Recommended Message Style
      \\n

      We recommend that expect messages are used to describe the reason you\\nexpect the Result should be Ok.

      \\n\\n
      \u24d8
      let path = std::env::var(\\\"IMPORTANT_PATH\\\")\\n    .expect(\\\"env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`\\\");
      Run
      \\n

      Hint: If you\u2019re having trouble remembering how to phrase expect\\nerror messages remember to focus on the word \u201cshould\u201d as in \u201cenv\\nvariable should be set by blah\u201d or \u201cthe given binary should be available\\nand executable by the current user\u201d.

      \\n

      For more detail on expect message styles and the reasoning behind our recommendation please\\nrefer to the section on \u201cCommon Message\\nStyles\u201d in the\\nstd::error module docs.

      \\n
      source

      pub fn unwrap(self) -> T
      where\\n E: Debug,

      Returns the contained Ok value, consuming the self value.

      \\n

      Because this function may panic, its use is generally discouraged.\\nInstead, prefer to use pattern matching and handle the Err\\ncase explicitly, or call unwrap_or, unwrap_or_else, or\\nunwrap_or_default.

      \\n
      \u00a7Panics
      \\n

      Panics if the value is an Err, with a panic message provided by the\\nErr\u2019s value.

      \\n
      \u00a7Examples
      \\n

      Basic usage:

      \\n\\n
      let x: Result<u32, &str> = Ok(2);\\nassert_eq!(x.unwrap(), 2);
      Run
      \\n\\n
      \u24d8
      let x: Result<u32, &str> = Err(\\\"emergency failure\\\");\\nx.unwrap(); // panics with `emergency failure`
      Run
      \\n
      1.16.0 \u00b7 source

      pub fn unwrap_or_default(self) -> T
      where\\n T: Default,

      Returns the contained Ok value or a default

      \\n

      Consumes the self argument then, if Ok, returns the contained\\nvalue, otherwise if Err, returns the default value for that\\ntype.

      \\n
      \u00a7Examples
      \\n

      Converts a string to an integer, turning poorly-formed strings\\ninto 0 (the default value for integers). parse converts\\na string to any other type that implements FromStr, returning an\\nErr on error.

      \\n\\n
      let good_year_from_input = \\\"1909\\\";\\nlet bad_year_from_input = \\\"190blarg\\\";\\nlet good_year = good_year_from_input.parse().unwrap_or_default();\\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\\n\\nassert_eq!(1909, good_year);\\nassert_eq!(0, bad_year);
      Run
      \\n
      1.17.0 \u00b7 source

      pub fn expect_err(self, msg: &str) -> E
      where\\n T: Debug,

      Returns the contained Err value, consuming the self value.

      \\n
      \u00a7Panics
      \\n

      Panics if the value is an Ok, with a panic message including the\\npassed message, and the content of the Ok.

      \\n
      \u00a7Examples
      \\n
      \u24d8
      let x: Result<u32, &str> = Ok(10);\\nx.expect_err(\\\"Testing expect_err\\\"); // panics with `Testing expect_err: 10`
      Run
      \\n
      source

      pub fn unwrap_err(self) -> E
      where\\n T: Debug,

      Returns the contained Err value, consuming the self value.

      \\n
      \u00a7Panics
      \\n

      Panics if the value is an Ok, with a custom panic message provided\\nby the Ok\u2019s value.

      \\n
      \u00a7Examples
      \\n
      \u24d8
      let x: Result<u32, &str> = Ok(2);\\nx.unwrap_err(); // panics with `2`
      Run
      \\n\\n
      let x: Result<u32, &str> = Err(\\\"emergency failure\\\");\\nassert_eq!(x.unwrap_err(), \\\"emergency failure\\\");
      Run
      \\n
      source

      pub fn into_ok(self) -> T
      where\\n E: Into<!>,

      \ud83d\udd2cThis is a nightly-only experimental API. (unwrap_infallible #61695)

      Returns the contained Ok value, but never panics.

      \\n

      Unlike unwrap, this method is known to never panic on the\\nresult types it is implemented for. Therefore, it can be used\\ninstead of unwrap as a maintainability safeguard that will fail\\nto compile if the error type of the Result is later changed\\nto an error that can actually occur.

      \\n
      \u00a7Examples
      \\n
      \\nfn only_good_news() -> Result<String, !> {\\n    Ok(\\\"this is fine\\\".into())\\n}\\n\\nlet s: String = only_good_news().into_ok();\\nprintln!(\\\"{s}\\\");
      Run
      \\n
      source

      pub fn into_err(self) -> E
      where\\n T: Into<!>,

      \ud83d\udd2cThis is a nightly-only experimental API. (unwrap_infallible #61695)

      Returns the contained Err value, but never panics.

      \\n

      Unlike unwrap_err, this method is known to never panic on the\\nresult types it is implemented for. Therefore, it can be used\\ninstead of unwrap_err as a maintainability safeguard that will fail\\nto compile if the ok type of the Result is later changed\\nto a type that can actually occur.

      \\n
      \u00a7Examples
      \\n
      \\nfn only_bad_news() -> Result<!, String> {\\n    Err(\\\"Oops, it failed\\\".into())\\n}\\n\\nlet error: String = only_bad_news().into_err();\\nprintln!(\\\"{error}\\\");
      Run
      \\n
      source

      pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

      Returns res if the result is Ok, otherwise returns the Err value of self.

      \\n

      Arguments passed to and are eagerly evaluated; if you are passing the\\nresult of a function call, it is recommended to use and_then, which is\\nlazily evaluated.

      \\n
      \u00a7Examples
      \\n
      let x: Result<u32, &str> = Ok(2);\\nlet y: Result<&str, &str> = Err(\\\"late error\\\");\\nassert_eq!(x.and(y), Err(\\\"late error\\\"));\\n\\nlet x: Result<u32, &str> = Err(\\\"early error\\\");\\nlet y: Result<&str, &str> = Ok(\\\"foo\\\");\\nassert_eq!(x.and(y), Err(\\\"early error\\\"));\\n\\nlet x: Result<u32, &str> = Err(\\\"not a 2\\\");\\nlet y: Result<&str, &str> = Err(\\\"late error\\\");\\nassert_eq!(x.and(y), Err(\\\"not a 2\\\"));\\n\\nlet x: Result<u32, &str> = Ok(2);\\nlet y: Result<&str, &str> = Ok(\\\"different result type\\\");\\nassert_eq!(x.and(y), Ok(\\\"different result type\\\"));
      Run
      \\n
      source

      pub fn and_then<U, F>(self, op: F) -> Result<U, E>
      where\\n F: FnOnce(T) -> Result<U, E>,

      Calls op if the result is Ok, otherwise returns the Err value of self.

      \\n

      This function can be used for control flow based on Result values.

      \\n
      \u00a7Examples
      \\n
      fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or(\\\"overflowed\\\")\\n}\\n\\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err(\\\"overflowed\\\"));\\nassert_eq!(Err(\\\"not a number\\\").and_then(sq_then_to_string), Err(\\\"not a number\\\"));
      Run
      \\n

      Often used to chain fallible operations that may return Err.

      \\n\\n
      use std::{io::ErrorKind, path::Path};\\n\\n// Note: on Windows \\\"/\\\" maps to \\\"C:\\\\\\\"\\nlet root_modified_time = Path::new(\\\"/\\\").metadata().and_then(|md| md.modified());\\nassert!(root_modified_time.is_ok());\\n\\nlet should_fail = Path::new(\\\"/bad/path\\\").metadata().and_then(|md| md.modified());\\nassert!(should_fail.is_err());\\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
      Run
      \\n
      source

      pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

      Returns res if the result is Err, otherwise returns the Ok value of self.

      \\n

      Arguments passed to or are eagerly evaluated; if you are passing the\\nresult of a function call, it is recommended to use or_else, which is\\nlazily evaluated.

      \\n
      \u00a7Examples
      \\n
      let x: Result<u32, &str> = Ok(2);\\nlet y: Result<u32, &str> = Err(\\\"late error\\\");\\nassert_eq!(x.or(y), Ok(2));\\n\\nlet x: Result<u32, &str> = Err(\\\"early error\\\");\\nlet y: Result<u32, &str> = Ok(2);\\nassert_eq!(x.or(y), Ok(2));\\n\\nlet x: Result<u32, &str> = Err(\\\"not a 2\\\");\\nlet y: Result<u32, &str> = Err(\\\"late error\\\");\\nassert_eq!(x.or(y), Err(\\\"late error\\\"));\\n\\nlet x: Result<u32, &str> = Ok(2);\\nlet y: Result<u32, &str> = Ok(100);\\nassert_eq!(x.or(y), Ok(2));
      Run
      \\n
      source

      pub fn or_else<F, O>(self, op: O) -> Result<T, F>
      where\\n O: FnOnce(E) -> Result<T, F>,

      Calls op if the result is Err, otherwise returns the Ok value of self.

      \\n

      This function can be used for control flow based on result values.

      \\n
      \u00a7Examples
      \\n
      fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\\n\\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
      Run
      \\n
      source

      pub fn unwrap_or(self, default: T) -> T

      Returns the contained Ok value or a provided default.

      \\n

      Arguments passed to unwrap_or are eagerly evaluated; if you are passing\\nthe result of a function call, it is recommended to use unwrap_or_else,\\nwhich is lazily evaluated.

      \\n
      \u00a7Examples
      \\n
      let default = 2;\\nlet x: Result<u32, &str> = Ok(9);\\nassert_eq!(x.unwrap_or(default), 9);\\n\\nlet x: Result<u32, &str> = Err(\\\"error\\\");\\nassert_eq!(x.unwrap_or(default), default);
      Run
      \\n
      source

      pub fn unwrap_or_else<F>(self, op: F) -> T
      where\\n F: FnOnce(E) -> T,

      Returns the contained Ok value or computes it from a closure.

      \\n
      \u00a7Examples
      \\n
      fn count(x: &str) -> usize { x.len() }\\n\\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\\nassert_eq!(Err(\\\"foo\\\").unwrap_or_else(count), 3);
      Run
      \\n
      1.58.0 \u00b7 source

      pub unsafe fn unwrap_unchecked(self) -> T

      Returns the contained Ok value, consuming the self value,\\nwithout checking that the value is not an Err.

      \\n
      \u00a7Safety
      \\n

      Calling this method on an Err is undefined behavior.

      \\n
      \u00a7Examples
      \\n
      let x: Result<u32, &str> = Ok(2);\\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
      Run
      \\n\\n
      let x: Result<u32, &str> = Err(\\\"emergency failure\\\");\\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
      Run
      \\n
      1.58.0 \u00b7 source

      pub unsafe fn unwrap_err_unchecked(self) -> E

      Returns the contained Err value, consuming the self value,\\nwithout checking that the value is not an Ok.

      \\n
      \u00a7Safety
      \\n

      Calling this method on an Ok is undefined behavior.

      \\n
      \u00a7Examples
      \\n
      let x: Result<u32, &str> = Ok(2);\\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
      Run
      \\n\\n
      let x: Result<u32, &str> = Err(\\\"emergency failure\\\");\\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, \\\"emergency failure\\\");
      Run
      \\n
      \", 0, \"alloc::fmt::Result\"],\n- [\"
      1.16.0 \u00b7 source\u00a7

      impl<T, U, E> Sum<Result<U, E>> for Result<T, E>
      where\\n T: Sum<U>,

      source\u00a7

      fn sum<I>(iter: I) -> Result<T, E>
      where\\n I: Iterator<Item = Result<U, E>>,

      Takes each element in the Iterator: if it is an Err, no further\\nelements are taken, and the Err is returned. Should no Err\\noccur, the sum of all elements is returned.

      \\n
      \u00a7Examples
      \\n

      This sums up every integer in a vector, rejecting the sum if a negative\\nelement is encountered:

      \\n\\n
      let f = |&x: &i32| if x < 0 { Err(\\\"Negative element found\\\") } else { Ok(x) };\\nlet v = vec![1, 2];\\nlet res: Result<i32, _> = v.iter().map(f).sum();\\nassert_eq!(res, Ok(3));\\nlet v = vec![1, -2];\\nlet res: Result<i32, _> = v.iter().map(f).sum();\\nassert_eq!(res, Err(\\\"Negative element found\\\"));
      Run
      \\n
      \", \"Sum>\", \"alloc::fmt::Result\"],\n- [\"
      source\u00a7

      impl<T, E> Try for Result<T, E>

      \u00a7

      type Output = T

      \ud83d\udd2cThis is a nightly-only experimental API. (try_trait_v2 #84277)
      The type of the value produced by ? when not short-circuiting.
      \u00a7

      type Residual = Result<Infallible, E>

      \ud83d\udd2cThis is a nightly-only experimental API. (try_trait_v2 #84277)
      The type of the value passed to FromResidual::from_residual\\nas part of ? when short-circuiting. Read more
      source\u00a7

      fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

      \ud83d\udd2cThis is a nightly-only experimental API. (try_trait_v2 #84277)
      Constructs the type from its Output type. Read more
      source\u00a7

      fn branch(\\n self\\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

      \ud83d\udd2cThis is a nightly-only experimental API. (try_trait_v2 #84277)
      Used in ? to decide whether the operator should produce a value\\n(because this returned ControlFlow::Continue)\\nor propagate a value back to the caller\\n(because this returned ControlFlow::Break). Read more
      \", \"Try\", \"alloc::fmt::Result\"],\n- [\"
      source\u00a7

      impl<T, E> Copy for Result<T, E>
      where\\n T: Copy,\\n E: Copy,

      \", \"Copy\", \"alloc::fmt::Result\"],\n- [\"
      source\u00a7

      impl<T, E> Eq for Result<T, E>
      where\\n T: Eq,\\n E: Eq,

      \", \"Eq\", \"alloc::fmt::Result\"],\n- [\"
      source\u00a7

      impl<T, E> StructuralPartialEq for Result<T, E>

      \", \"StructuralPartialEq\", \"alloc::fmt::Result\"]\n+ [\"
      source\u00a7

      impl<T, E> Clone for Result<T, E>
      where\\n T: Clone,\\n E: Clone,

      source\u00a7

      fn clone(&self) -> Result<T, E>

      Returns a copy of the value. Read more
      source\u00a7

      fn clone_from(&mut self, source: &Result<T, E>)

      Performs copy-assignment from source. Read more
      \", \"Clone\", \"alloc::fmt::Result\"],\n+ [\"
      source\u00a7

      impl<T, E> Debug for Result<T, E>
      where\\n T: Debug,\\n E: Debug,

      source\u00a7

      fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

      Formats the value using the given formatter. Read more
      \", \"Debug\", \"alloc::fmt::Result\"],\n+ [\"
      source\u00a7

      impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>
      where\\n V: FromIterator<A>,

      source\u00a7

      fn from_iter<I>(iter: I) -> Result<V, E>
      where\\n I: IntoIterator<Item = Result<A, E>>,

      Takes each element in the Iterator: if it is an Err, no further\\nelements are taken, and the Err is returned. Should no Err occur, a\\ncontainer with the values of each Result is returned.

      \\n

      Here is an example which increments every integer in a vector,\\nchecking for overflow:

      \\n\\n
      let v = vec![1, 2];\\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\\n    x.checked_add(1).ok_or(\\\"Overflow!\\\")\\n).collect();\\nassert_eq!(res, Ok(vec![2, 3]));
      Run
      \\n

      Here is another example that tries to subtract one from another list\\nof integers, this time checking for underflow:

      \\n\\n
      let v = vec![1, 2, 0];\\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\\n    x.checked_sub(1).ok_or(\\\"Underflow!\\\")\\n).collect();\\nassert_eq!(res, Err(\\\"Underflow!\\\"));
      Run
      \\n

      Here is a variation on the previous example, showing that no\\nfurther elements are taken from iter after the first Err.

      \\n\\n
      let v = vec![3, 2, 1, 10];\\nlet mut shared = 0;\\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\\n    shared += x;\\n    x.checked_sub(2).ok_or(\\\"Underflow!\\\")\\n}).collect();\\nassert_eq!(res, Err(\\\"Underflow!\\\"));\\nassert_eq!(shared, 6);
      Run
      \\n

      Since the third element caused an underflow, no further elements were taken,\\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

      \\n
      \", \"FromIterator>\", \"alloc::fmt::Result\"],\n+ [\"
      source\u00a7

      impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>
      where\\n F: From<E>,

      source\u00a7

      fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

      \ud83d\udd2cThis is a nightly-only experimental API. (try_trait_v2 #84277)
      Constructs the type from a compatible Residual type. Read more
      \", \"FromResidual>\", \"alloc::fmt::Result\"],\n+ [\"
      source\u00a7

      impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>
      where\\n F: From<E>,

      source\u00a7

      fn from_residual(_: Yeet<E>) -> Result<T, F>

      \ud83d\udd2cThis is a nightly-only experimental API. (try_trait_v2 #84277)
      Constructs the type from a compatible Residual type. Read more
      \", \"FromResidual>\", \"alloc::fmt::Result\"],\n+ [\"
      source\u00a7

      impl<T, E> Hash for Result<T, E>
      where\\n T: Hash,\\n E: Hash,

      source\u00a7

      fn hash<__H>(&self, state: &mut __H)
      where\\n __H: Hasher,

      Feeds this value into the given Hasher. Read more
      1.3.0 \u00b7 source\u00a7

      fn hash_slice<H>(data: &[Self], state: &mut H)
      where\\n H: Hasher,\\n Self: Sized,

      Feeds a slice of this type into the given Hasher. Read more
      \", \"Hash\", \"alloc::fmt::Result\"],\n+ [\"
      source\u00a7

      impl<T, E> IntoIterator for Result<T, E>

      source\u00a7

      fn into_iter(self) -> IntoIter<T>

      Returns a consuming iterator over the possibly contained value.

      \\n

      The iterator yields one value if the result is Result::Ok, otherwise none.

      \\n
      \u00a7Examples
      \\n
      let x: Result<u32, &str> = Ok(5);\\nlet v: Vec<u32> = x.into_iter().collect();\\nassert_eq!(v, [5]);\\n\\nlet x: Result<u32, &str> = Err(\\\"nothing!\\\");\\nlet v: Vec<u32> = x.into_iter().collect();\\nassert_eq!(v, []);
      Run
      \\n
      \u00a7

      type Item = T

      The type of the elements being iterated over.
      \u00a7

      type IntoIter = IntoIter<T>

      Which kind of iterator are we turning this into?
      \", \"IntoIterator\", \"alloc::fmt::Result\"],\n+ [\"
      source\u00a7

      impl<T, E> Ord for Result<T, E>
      where\\n T: Ord,\\n E: Ord,

      source\u00a7

      fn cmp(&self, other: &Result<T, E>) -> Ordering

      This method returns an Ordering between self and other. Read more
      1.21.0 \u00b7 source\u00a7

      fn max(self, other: Self) -> Self
      where\\n Self: Sized,

      Compares and returns the maximum of two values. Read more
      1.21.0 \u00b7 source\u00a7

      fn min(self, other: Self) -> Self
      where\\n Self: Sized,

      Compares and returns the minimum of two values. Read more
      1.50.0 \u00b7 source\u00a7

      fn clamp(self, min: Self, max: Self) -> Self
      where\\n Self: Sized + PartialOrd,

      Restrict a value to a certain interval. Read more
      \", \"Ord\", \"alloc::fmt::Result\"],\n+ [\"
      source\u00a7

      impl<T, E> PartialEq for Result<T, E>
      where\\n T: PartialEq,\\n E: PartialEq,

      source\u00a7

      fn eq(&self, other: &Result<T, E>) -> bool

      This method tests for self and other values to be equal, and is used\\nby ==.
      source\u00a7

      fn ne(&self, other: &Rhs) -> bool

      This method tests for !=. The default implementation is almost always\\nsufficient, and should not be overridden without very good reason.
      \", \"PartialEq\", \"alloc::fmt::Result\"],\n+ [\"
      source\u00a7

      impl<T, E> PartialOrd for Result<T, E>
      where\\n T: PartialOrd,\\n E: PartialOrd,

      source\u00a7

      fn partial_cmp(&self, other: &Result<T, E>) -> Option<Ordering>

      This method returns an ordering between self and other values if one exists. Read more
      source\u00a7

      fn lt(&self, other: &Rhs) -> bool

      This method tests less than (for self and other) and is used by the < operator. Read more
      source\u00a7

      fn le(&self, other: &Rhs) -> bool

      This method tests less than or equal to (for self and other) and is used by the <=\\noperator. Read more
      source\u00a7

      fn gt(&self, other: &Rhs) -> bool

      This method tests greater than (for self and other) and is used by the > operator. Read more
      source\u00a7

      fn ge(&self, other: &Rhs) -> bool

      This method tests greater than or equal to (for self and other) and is used by the >=\\noperator. Read more
      \", \"PartialOrd\", \"alloc::fmt::Result\"],\n+ [\"
      1.16.0 \u00b7 source\u00a7

      impl<T, U, E> Product<Result<U, E>> for Result<T, E>
      where\\n T: Product<U>,

      source\u00a7

      fn product<I>(iter: I) -> Result<T, E>
      where\\n I: Iterator<Item = Result<U, E>>,

      Takes each element in the Iterator: if it is an Err, no further\\nelements are taken, and the Err is returned. Should no Err\\noccur, the product of all elements is returned.

      \\n
      \u00a7Examples
      \\n

      This multiplies each number in a vector of strings,\\nif a string could not be parsed the operation returns Err:

      \\n\\n
      let nums = vec![\\\"5\\\", \\\"10\\\", \\\"1\\\", \\\"2\\\"];\\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\\nassert_eq!(total, Ok(100));\\nlet nums = vec![\\\"5\\\", \\\"10\\\", \\\"one\\\", \\\"2\\\"];\\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\\nassert!(total.is_err());
      Run
      \\n
      \", \"Product>\", \"alloc::fmt::Result\"],\n+ [\"
      source\u00a7

      impl<T, E> Result<T, E>

      const: 1.48.0 \u00b7 source

      pub const fn is_ok(&self) -> bool

      Returns true if the result is Ok.

      \\n
      \u00a7Examples
      \\n
      let x: Result<i32, &str> = Ok(-3);\\nassert_eq!(x.is_ok(), true);\\n\\nlet x: Result<i32, &str> = Err(\\\"Some error message\\\");\\nassert_eq!(x.is_ok(), false);
      Run
      \\n
      1.70.0 \u00b7 source

      pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

      Returns true if the result is Ok and the value inside of it matches a predicate.

      \\n
      \u00a7Examples
      \\n
      let x: Result<u32, &str> = Ok(2);\\nassert_eq!(x.is_ok_and(|x| x > 1), true);\\n\\nlet x: Result<u32, &str> = Ok(0);\\nassert_eq!(x.is_ok_and(|x| x > 1), false);\\n\\nlet x: Result<u32, &str> = Err(\\\"hey\\\");\\nassert_eq!(x.is_ok_and(|x| x > 1), false);
      Run
      \\n
      const: 1.48.0 \u00b7 source

      pub const fn is_err(&self) -> bool

      Returns true if the result is Err.

      \\n
      \u00a7Examples
      \\n
      let x: Result<i32, &str> = Ok(-3);\\nassert_eq!(x.is_err(), false);\\n\\nlet x: Result<i32, &str> = Err(\\\"Some error message\\\");\\nassert_eq!(x.is_err(), true);
      Run
      \\n
      1.70.0 \u00b7 source

      pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

      Returns true if the result is Err and the value inside of it matches a predicate.

      \\n
      \u00a7Examples
      \\n
      use std::io::{Error, ErrorKind};\\n\\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, \\\"!\\\"));\\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\\n\\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, \\\"!\\\"));\\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\\n\\nlet x: Result<u32, Error> = Ok(123);\\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
      Run
      \\n
      source

      pub fn ok(self) -> Option<T>

      Converts from Result<T, E> to Option<T>.

      \\n

      Converts self into an Option<T>, consuming self,\\nand discarding the error, if any.

      \\n
      \u00a7Examples
      \\n
      let x: Result<u32, &str> = Ok(2);\\nassert_eq!(x.ok(), Some(2));\\n\\nlet x: Result<u32, &str> = Err(\\\"Nothing here\\\");\\nassert_eq!(x.ok(), None);
      Run
      \\n
      source

      pub fn err(self) -> Option<E>

      Converts from Result<T, E> to Option<E>.

      \\n

      Converts self into an Option<E>, consuming self,\\nand discarding the success value, if any.

      \\n
      \u00a7Examples
      \\n
      let x: Result<u32, &str> = Ok(2);\\nassert_eq!(x.err(), None);\\n\\nlet x: Result<u32, &str> = Err(\\\"Nothing here\\\");\\nassert_eq!(x.err(), Some(\\\"Nothing here\\\"));
      Run
      \\n
      const: 1.48.0 \u00b7 source

      pub const fn as_ref(&self) -> Result<&T, &E>

      Converts from &Result<T, E> to Result<&T, &E>.

      \\n

      Produces a new Result, containing a reference\\ninto the original, leaving the original in place.

      \\n
      \u00a7Examples
      \\n
      let x: Result<u32, &str> = Ok(2);\\nassert_eq!(x.as_ref(), Ok(&2));\\n\\nlet x: Result<u32, &str> = Err(\\\"Error\\\");\\nassert_eq!(x.as_ref(), Err(&\\\"Error\\\"));
      Run
      \\n
      const: unstable \u00b7 source

      pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

      Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

      \\n
      \u00a7Examples
      \\n
      fn mutate(r: &mut Result<i32, i32>) {\\n    match r.as_mut() {\\n        Ok(v) => *v = 42,\\n        Err(e) => *e = 0,\\n    }\\n}\\n\\nlet mut x: Result<i32, i32> = Ok(2);\\nmutate(&mut x);\\nassert_eq!(x.unwrap(), 42);\\n\\nlet mut x: Result<i32, i32> = Err(13);\\nmutate(&mut x);\\nassert_eq!(x.unwrap_err(), 0);
      Run
      \\n
      source

      pub fn map<U, F>(self, op: F) -> Result<U, E>
      where\\n F: FnOnce(T) -> U,

      Maps a Result<T, E> to Result<U, E> by applying a function to a\\ncontained Ok value, leaving an Err value untouched.

      \\n

      This function can be used to compose the results of two functions.

      \\n
      \u00a7Examples
      \\n

      Print the numbers on each line of a string multiplied by two.

      \\n\\n
      let line = \\\"1\\\\n2\\\\n3\\\\n4\\\\n\\\";\\n\\nfor num in line.lines() {\\n    match num.parse::<i32>().map(|i| i * 2) {\\n        Ok(n) => println!(\\\"{n}\\\"),\\n        Err(..) => {}\\n    }\\n}
      Run
      \\n
      1.41.0 \u00b7 source

      pub fn map_or<U, F>(self, default: U, f: F) -> U
      where\\n F: FnOnce(T) -> U,

      Returns the provided default (if Err), or\\napplies a function to the contained value (if Ok).

      \\n

      Arguments passed to map_or are eagerly evaluated; if you are passing\\nthe result of a function call, it is recommended to use map_or_else,\\nwhich is lazily evaluated.

      \\n
      \u00a7Examples
      \\n
      let x: Result<_, &str> = Ok(\\\"foo\\\");\\nassert_eq!(x.map_or(42, |v| v.len()), 3);\\n\\nlet x: Result<&str, _> = Err(\\\"bar\\\");\\nassert_eq!(x.map_or(42, |v| v.len()), 42);
      Run
      \\n
      1.41.0 \u00b7 source

      pub fn map_or_else<U, D, F>(self, default: D, f: F) -> U
      where\\n D: FnOnce(E) -> U,\\n F: FnOnce(T) -> U,

      Maps a Result<T, E> to U by applying fallback function default to\\na contained Err value, or function f to a contained Ok value.

      \\n

      This function can be used to unpack a successful result\\nwhile handling an error.

      \\n
      \u00a7Examples
      \\n
      let k = 21;\\n\\nlet x : Result<_, &str> = Ok(\\\"foo\\\");\\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\\n\\nlet x : Result<&str, _> = Err(\\\"bar\\\");\\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
      Run
      \\n
      source

      pub fn map_err<F, O>(self, op: O) -> Result<T, F>
      where\\n O: FnOnce(E) -> F,

      Maps a Result<T, E> to Result<T, F> by applying a function to a\\ncontained Err value, leaving an Ok value untouched.

      \\n

      This function can be used to pass through a successful result while handling\\nan error.

      \\n
      \u00a7Examples
      \\n
      fn stringify(x: u32) -> String { format!(\\\"error code: {x}\\\") }\\n\\nlet x: Result<u32, u32> = Ok(2);\\nassert_eq!(x.map_err(stringify), Ok(2));\\n\\nlet x: Result<u32, u32> = Err(13);\\nassert_eq!(x.map_err(stringify), Err(\\\"error code: 13\\\".to_string()));
      Run
      \\n
      1.76.0 \u00b7 source

      pub fn inspect<F>(self, f: F) -> Result<T, E>
      where\\n F: FnOnce(&T),

      Calls a function with a reference to the contained value if Ok.

      \\n

      Returns the original result.

      \\n
      \u00a7Examples
      \\n
      let x: u8 = \\\"4\\\"\\n    .parse::<u8>()\\n    .inspect(|x| println!(\\\"original: {x}\\\"))\\n    .map(|x| x.pow(3))\\n    .expect(\\\"failed to parse number\\\");
      Run
      \\n
      1.76.0 \u00b7 source

      pub fn inspect_err<F>(self, f: F) -> Result<T, E>
      where\\n F: FnOnce(&E),

      Calls a function with a reference to the contained value if Err.

      \\n

      Returns the original result.

      \\n
      \u00a7Examples
      \\n
      use std::{fs, io};\\n\\nfn read() -> io::Result<String> {\\n    fs::read_to_string(\\\"address.txt\\\")\\n        .inspect_err(|e| eprintln!(\\\"failed to read file: {e}\\\"))\\n}
      Run
      \\n
      1.47.0 \u00b7 source

      pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>
      where\\n T: Deref,

      Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

      \\n

      Coerces the Ok variant of the original Result via Deref\\nand returns the new Result.

      \\n
      \u00a7Examples
      \\n
      let x: Result<String, u32> = Ok(\\\"hello\\\".to_string());\\nlet y: Result<&str, &u32> = Ok(\\\"hello\\\");\\nassert_eq!(x.as_deref(), y);\\n\\nlet x: Result<String, u32> = Err(42);\\nlet y: Result<&str, &u32> = Err(&42);\\nassert_eq!(x.as_deref(), y);
      Run
      \\n
      1.47.0 \u00b7 source

      pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>
      where\\n T: DerefMut,

      Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

      \\n

      Coerces the Ok variant of the original Result via DerefMut\\nand returns the new Result.

      \\n
      \u00a7Examples
      \\n
      let mut s = \\\"HELLO\\\".to_string();\\nlet mut x: Result<String, u32> = Ok(\\\"hello\\\".to_string());\\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\\n\\nlet mut i = 42;\\nlet mut x: Result<String, u32> = Err(42);\\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
      Run
      \\n
      source

      pub fn iter(&self) -> Iter<'_, T>

      Returns an iterator over the possibly contained value.

      \\n

      The iterator yields one value if the result is Result::Ok, otherwise none.

      \\n
      \u00a7Examples
      \\n
      let x: Result<u32, &str> = Ok(7);\\nassert_eq!(x.iter().next(), Some(&7));\\n\\nlet x: Result<u32, &str> = Err(\\\"nothing!\\\");\\nassert_eq!(x.iter().next(), None);
      Run
      \\n
      source

      pub fn iter_mut(&mut self) -> IterMut<'_, T>

      Returns a mutable iterator over the possibly contained value.

      \\n

      The iterator yields one value if the result is Result::Ok, otherwise none.

      \\n
      \u00a7Examples
      \\n
      let mut x: Result<u32, &str> = Ok(7);\\nmatch x.iter_mut().next() {\\n    Some(v) => *v = 40,\\n    None => {},\\n}\\nassert_eq!(x, Ok(40));\\n\\nlet mut x: Result<u32, &str> = Err(\\\"nothing!\\\");\\nassert_eq!(x.iter_mut().next(), None);
      Run
      \\n
      1.4.0 \u00b7 source

      pub fn expect(self, msg: &str) -> T
      where\\n E: Debug,

      Returns the contained Ok value, consuming the self value.

      \\n

      Because this function may panic, its use is generally discouraged.\\nInstead, prefer to use pattern matching and handle the Err\\ncase explicitly, or call unwrap_or, unwrap_or_else, or\\nunwrap_or_default.

      \\n
      \u00a7Panics
      \\n

      Panics if the value is an Err, with a panic message including the\\npassed message, and the content of the Err.

      \\n
      \u00a7Examples
      \\n
      \u24d8
      let x: Result<u32, &str> = Err(\\\"emergency failure\\\");\\nx.expect(\\\"Testing expect\\\"); // panics with `Testing expect: emergency failure`
      Run
      \\n
      \u00a7Recommended Message Style
      \\n

      We recommend that expect messages are used to describe the reason you\\nexpect the Result should be Ok.

      \\n\\n
      \u24d8
      let path = std::env::var(\\\"IMPORTANT_PATH\\\")\\n    .expect(\\\"env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`\\\");
      Run
      \\n

      Hint: If you\u2019re having trouble remembering how to phrase expect\\nerror messages remember to focus on the word \u201cshould\u201d as in \u201cenv\\nvariable should be set by blah\u201d or \u201cthe given binary should be available\\nand executable by the current user\u201d.

      \\n

      For more detail on expect message styles and the reasoning behind our recommendation please\\nrefer to the section on \u201cCommon Message\\nStyles\u201d in the\\nstd::error module docs.

      \\n
      source

      pub fn unwrap(self) -> T
      where\\n E: Debug,

      Returns the contained Ok value, consuming the self value.

      \\n

      Because this function may panic, its use is generally discouraged.\\nInstead, prefer to use pattern matching and handle the Err\\ncase explicitly, or call unwrap_or, unwrap_or_else, or\\nunwrap_or_default.

      \\n
      \u00a7Panics
      \\n

      Panics if the value is an Err, with a panic message provided by the\\nErr\u2019s value.

      \\n
      \u00a7Examples
      \\n

      Basic usage:

      \\n\\n
      let x: Result<u32, &str> = Ok(2);\\nassert_eq!(x.unwrap(), 2);
      Run
      \\n\\n
      \u24d8
      let x: Result<u32, &str> = Err(\\\"emergency failure\\\");\\nx.unwrap(); // panics with `emergency failure`
      Run
      \\n
      1.16.0 \u00b7 source

      pub fn unwrap_or_default(self) -> T
      where\\n T: Default,

      Returns the contained Ok value or a default

      \\n

      Consumes the self argument then, if Ok, returns the contained\\nvalue, otherwise if Err, returns the default value for that\\ntype.

      \\n
      \u00a7Examples
      \\n

      Converts a string to an integer, turning poorly-formed strings\\ninto 0 (the default value for integers). parse converts\\na string to any other type that implements FromStr, returning an\\nErr on error.

      \\n\\n
      let good_year_from_input = \\\"1909\\\";\\nlet bad_year_from_input = \\\"190blarg\\\";\\nlet good_year = good_year_from_input.parse().unwrap_or_default();\\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\\n\\nassert_eq!(1909, good_year);\\nassert_eq!(0, bad_year);
      Run
      \\n
      1.17.0 \u00b7 source

      pub fn expect_err(self, msg: &str) -> E
      where\\n T: Debug,

      Returns the contained Err value, consuming the self value.

      \\n
      \u00a7Panics
      \\n

      Panics if the value is an Ok, with a panic message including the\\npassed message, and the content of the Ok.

      \\n
      \u00a7Examples
      \\n
      \u24d8
      let x: Result<u32, &str> = Ok(10);\\nx.expect_err(\\\"Testing expect_err\\\"); // panics with `Testing expect_err: 10`
      Run
      \\n
      source

      pub fn unwrap_err(self) -> E
      where\\n T: Debug,

      Returns the contained Err value, consuming the self value.

      \\n
      \u00a7Panics
      \\n

      Panics if the value is an Ok, with a custom panic message provided\\nby the Ok\u2019s value.

      \\n
      \u00a7Examples
      \\n
      \u24d8
      let x: Result<u32, &str> = Ok(2);\\nx.unwrap_err(); // panics with `2`
      Run
      \\n\\n
      let x: Result<u32, &str> = Err(\\\"emergency failure\\\");\\nassert_eq!(x.unwrap_err(), \\\"emergency failure\\\");
      Run
      \\n
      source

      pub fn into_ok(self) -> T
      where\\n E: Into<!>,

      \ud83d\udd2cThis is a nightly-only experimental API. (unwrap_infallible #61695)

      Returns the contained Ok value, but never panics.

      \\n

      Unlike unwrap, this method is known to never panic on the\\nresult types it is implemented for. Therefore, it can be used\\ninstead of unwrap as a maintainability safeguard that will fail\\nto compile if the error type of the Result is later changed\\nto an error that can actually occur.

      \\n
      \u00a7Examples
      \\n
      \\nfn only_good_news() -> Result<String, !> {\\n    Ok(\\\"this is fine\\\".into())\\n}\\n\\nlet s: String = only_good_news().into_ok();\\nprintln!(\\\"{s}\\\");
      Run
      \\n
      source

      pub fn into_err(self) -> E
      where\\n T: Into<!>,

      \ud83d\udd2cThis is a nightly-only experimental API. (unwrap_infallible #61695)

      Returns the contained Err value, but never panics.

      \\n

      Unlike unwrap_err, this method is known to never panic on the\\nresult types it is implemented for. Therefore, it can be used\\ninstead of unwrap_err as a maintainability safeguard that will fail\\nto compile if the ok type of the Result is later changed\\nto a type that can actually occur.

      \\n
      \u00a7Examples
      \\n
      \\nfn only_bad_news() -> Result<!, String> {\\n    Err(\\\"Oops, it failed\\\".into())\\n}\\n\\nlet error: String = only_bad_news().into_err();\\nprintln!(\\\"{error}\\\");
      Run
      \\n
      source

      pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

      Returns res if the result is Ok, otherwise returns the Err value of self.

      \\n

      Arguments passed to and are eagerly evaluated; if you are passing the\\nresult of a function call, it is recommended to use and_then, which is\\nlazily evaluated.

      \\n
      \u00a7Examples
      \\n
      let x: Result<u32, &str> = Ok(2);\\nlet y: Result<&str, &str> = Err(\\\"late error\\\");\\nassert_eq!(x.and(y), Err(\\\"late error\\\"));\\n\\nlet x: Result<u32, &str> = Err(\\\"early error\\\");\\nlet y: Result<&str, &str> = Ok(\\\"foo\\\");\\nassert_eq!(x.and(y), Err(\\\"early error\\\"));\\n\\nlet x: Result<u32, &str> = Err(\\\"not a 2\\\");\\nlet y: Result<&str, &str> = Err(\\\"late error\\\");\\nassert_eq!(x.and(y), Err(\\\"not a 2\\\"));\\n\\nlet x: Result<u32, &str> = Ok(2);\\nlet y: Result<&str, &str> = Ok(\\\"different result type\\\");\\nassert_eq!(x.and(y), Ok(\\\"different result type\\\"));
      Run
      \\n
      source

      pub fn and_then<U, F>(self, op: F) -> Result<U, E>
      where\\n F: FnOnce(T) -> Result<U, E>,

      Calls op if the result is Ok, otherwise returns the Err value of self.

      \\n

      This function can be used for control flow based on Result values.

      \\n
      \u00a7Examples
      \\n
      fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or(\\\"overflowed\\\")\\n}\\n\\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err(\\\"overflowed\\\"));\\nassert_eq!(Err(\\\"not a number\\\").and_then(sq_then_to_string), Err(\\\"not a number\\\"));
      Run
      \\n

      Often used to chain fallible operations that may return Err.

      \\n\\n
      use std::{io::ErrorKind, path::Path};\\n\\n// Note: on Windows \\\"/\\\" maps to \\\"C:\\\\\\\"\\nlet root_modified_time = Path::new(\\\"/\\\").metadata().and_then(|md| md.modified());\\nassert!(root_modified_time.is_ok());\\n\\nlet should_fail = Path::new(\\\"/bad/path\\\").metadata().and_then(|md| md.modified());\\nassert!(should_fail.is_err());\\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
      Run
      \\n
      source

      pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

      Returns res if the result is Err, otherwise returns the Ok value of self.

      \\n

      Arguments passed to or are eagerly evaluated; if you are passing the\\nresult of a function call, it is recommended to use or_else, which is\\nlazily evaluated.

      \\n
      \u00a7Examples
      \\n
      let x: Result<u32, &str> = Ok(2);\\nlet y: Result<u32, &str> = Err(\\\"late error\\\");\\nassert_eq!(x.or(y), Ok(2));\\n\\nlet x: Result<u32, &str> = Err(\\\"early error\\\");\\nlet y: Result<u32, &str> = Ok(2);\\nassert_eq!(x.or(y), Ok(2));\\n\\nlet x: Result<u32, &str> = Err(\\\"not a 2\\\");\\nlet y: Result<u32, &str> = Err(\\\"late error\\\");\\nassert_eq!(x.or(y), Err(\\\"late error\\\"));\\n\\nlet x: Result<u32, &str> = Ok(2);\\nlet y: Result<u32, &str> = Ok(100);\\nassert_eq!(x.or(y), Ok(2));
      Run
      \\n
      source

      pub fn or_else<F, O>(self, op: O) -> Result<T, F>
      where\\n O: FnOnce(E) -> Result<T, F>,

      Calls op if the result is Err, otherwise returns the Ok value of self.

      \\n

      This function can be used for control flow based on result values.

      \\n
      \u00a7Examples
      \\n
      fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\\n\\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
      Run
      \\n
      source

      pub fn unwrap_or(self, default: T) -> T

      Returns the contained Ok value or a provided default.

      \\n

      Arguments passed to unwrap_or are eagerly evaluated; if you are passing\\nthe result of a function call, it is recommended to use unwrap_or_else,\\nwhich is lazily evaluated.

      \\n
      \u00a7Examples
      \\n
      let default = 2;\\nlet x: Result<u32, &str> = Ok(9);\\nassert_eq!(x.unwrap_or(default), 9);\\n\\nlet x: Result<u32, &str> = Err(\\\"error\\\");\\nassert_eq!(x.unwrap_or(default), default);
      Run
      \\n
      source

      pub fn unwrap_or_else<F>(self, op: F) -> T
      where\\n F: FnOnce(E) -> T,

      Returns the contained Ok value or computes it from a closure.

      \\n
      \u00a7Examples
      \\n
      fn count(x: &str) -> usize { x.len() }\\n\\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\\nassert_eq!(Err(\\\"foo\\\").unwrap_or_else(count), 3);
      Run
      \\n
      1.58.0 \u00b7 source

      pub unsafe fn unwrap_unchecked(self) -> T

      Returns the contained Ok value, consuming the self value,\\nwithout checking that the value is not an Err.

      \\n
      \u00a7Safety
      \\n

      Calling this method on an Err is undefined behavior.

      \\n
      \u00a7Examples
      \\n
      let x: Result<u32, &str> = Ok(2);\\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
      Run
      \\n\\n
      let x: Result<u32, &str> = Err(\\\"emergency failure\\\");\\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
      Run
      \\n
      1.58.0 \u00b7 source

      pub unsafe fn unwrap_err_unchecked(self) -> E

      Returns the contained Err value, consuming the self value,\\nwithout checking that the value is not an Ok.

      \\n
      \u00a7Safety
      \\n

      Calling this method on an Ok is undefined behavior.

      \\n
      \u00a7Examples
      \\n
      let x: Result<u32, &str> = Ok(2);\\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
      Run
      \\n\\n
      let x: Result<u32, &str> = Err(\\\"emergency failure\\\");\\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, \\\"emergency failure\\\");
      Run
      \\n
      \", 0, \"alloc::fmt::Result\"],\n+ [\"
      1.16.0 \u00b7 source\u00a7

      impl<T, U, E> Sum<Result<U, E>> for Result<T, E>
      where\\n T: Sum<U>,

      source\u00a7

      fn sum<I>(iter: I) -> Result<T, E>
      where\\n I: Iterator<Item = Result<U, E>>,

      Takes each element in the Iterator: if it is an Err, no further\\nelements are taken, and the Err is returned. Should no Err\\noccur, the sum of all elements is returned.

      \\n
      \u00a7Examples
      \\n

      This sums up every integer in a vector, rejecting the sum if a negative\\nelement is encountered:

      \\n\\n
      let f = |&x: &i32| if x < 0 { Err(\\\"Negative element found\\\") } else { Ok(x) };\\nlet v = vec![1, 2];\\nlet res: Result<i32, _> = v.iter().map(f).sum();\\nassert_eq!(res, Ok(3));\\nlet v = vec![1, -2];\\nlet res: Result<i32, _> = v.iter().map(f).sum();\\nassert_eq!(res, Err(\\\"Negative element found\\\"));
      Run
      \\n
      \", \"Sum>\", \"alloc::fmt::Result\"],\n+ [\"
      source\u00a7

      impl<T, E> Try for Result<T, E>

      \u00a7

      type Output = T

      \ud83d\udd2cThis is a nightly-only experimental API. (try_trait_v2 #84277)
      The type of the value produced by ? when not short-circuiting.
      \u00a7

      type Residual = Result<Infallible, E>

      \ud83d\udd2cThis is a nightly-only experimental API. (try_trait_v2 #84277)
      The type of the value passed to FromResidual::from_residual\\nas part of ? when short-circuiting. Read more
      source\u00a7

      fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

      \ud83d\udd2cThis is a nightly-only experimental API. (try_trait_v2 #84277)
      Constructs the type from its Output type. Read more
      source\u00a7

      fn branch(\\n self\\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

      \ud83d\udd2cThis is a nightly-only experimental API. (try_trait_v2 #84277)
      Used in ? to decide whether the operator should produce a value\\n(because this returned ControlFlow::Continue)\\nor propagate a value back to the caller\\n(because this returned ControlFlow::Break). Read more
      \", \"Try\", \"alloc::fmt::Result\"],\n+ [\"
      source\u00a7

      impl<T, E> Copy for Result<T, E>
      where\\n T: Copy,\\n E: Copy,

      \", \"Copy\", \"alloc::fmt::Result\"],\n+ [\"
      source\u00a7

      impl<T, E> Eq for Result<T, E>
      where\\n T: Eq,\\n E: Eq,

      \", \"Eq\", \"alloc::fmt::Result\"],\n+ [\"
      source\u00a7

      impl<T, E> StructuralPartialEq for Result<T, E>

      \", \"StructuralPartialEq\", \"alloc::fmt::Result\"]\n ],\n \"core\": [\n [\"
      source\u00a7

      impl<T, E> Clone for Result<T, E>
      where\\n T: Clone,\\n E: Clone,

      source\u00a7

      fn clone(&self) -> Self

      Returns a copy of the value. Read more
      source\u00a7

      fn clone_from(&mut self, source: &Self)

      Performs copy-assignment from source. Read more
      \", \"Clone\", \"core::fmt::Result\"],\n [\"
      source\u00a7

      impl<T: Debug, E: Debug> Debug for Result<T, E>

      source\u00a7

      fn fmt(&self, f: &mut Formatter<'_>) -> Result

      Formats the value using the given formatter. Read more
      \", \"Debug\", \"core::fmt::Result\"],\n [\"
      source\u00a7

      impl<A, E, V: FromIterator<A>> FromIterator<Result<A, E>> for Result<V, E>

      source\u00a7

      fn from_iter<I: IntoIterator<Item = Result<A, E>>>(iter: I) -> Result<V, E>

      Takes each element in the Iterator: if it is an Err, no further\\nelements are taken, and the Err is returned. Should no Err occur, a\\ncontainer with the values of each Result is returned.

      \\n

      Here is an example which increments every integer in a vector,\\nchecking for overflow:

      \\n\\n
      let v = vec![1, 2];\\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\\n    x.checked_add(1).ok_or(\\\"Overflow!\\\")\\n).collect();\\nassert_eq!(res, Ok(vec![2, 3]));
      Run
      \\n

      Here is another example that tries to subtract one from another list\\nof integers, this time checking for underflow:

      \\n\\n
      let v = vec![1, 2, 0];\\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\\n    x.checked_sub(1).ok_or(\\\"Underflow!\\\")\\n).collect();\\nassert_eq!(res, Err(\\\"Underflow!\\\"));
      Run
      \\n

      Here is a variation on the previous example, showing that no\\nfurther elements are taken from iter after the first Err.

      \\n\\n
      let v = vec![3, 2, 1, 10];\\nlet mut shared = 0;\\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\\n    shared += x;\\n    x.checked_sub(2).ok_or(\\\"Underflow!\\\")\\n}).collect();\\nassert_eq!(res, Err(\\\"Underflow!\\\"));\\nassert_eq!(shared, 6);
      Run
      \\n

      Since the third element caused an underflow, no further elements were taken,\\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

      \\n
      \", \"FromIterator>\", \"core::fmt::Result\"],\n [\"
      source\u00a7

      impl<T, E, F: From<E>> FromResidual<Result<Infallible, E>> for Result<T, F>

      source\u00a7

      fn from_residual(residual: Result<Infallible, E>) -> Self

      \ud83d\udd2cThis is a nightly-only experimental API. (try_trait_v2 #84277)
      Constructs the type from a compatible Residual type. Read more
      \", \"FromResidual>\", \"core::fmt::Result\"],\n [\"
      source\u00a7

      impl<T, E, F: From<E>> FromResidual<Yeet<E>> for Result<T, F>

      source\u00a7

      fn from_residual(ops::Yeet: Yeet<E>) -> Self

      \ud83d\udd2cThis is a nightly-only experimental API. (try_trait_v2 #84277)
      Constructs the type from a compatible Residual type. Read more
      \", \"FromResidual>\", \"core::fmt::Result\"],\n"}]}]}]}]}]}
    Pattern typeMatch condition
    &stris substring
    charis contained in string
    &[char]any char in slice is contained in string
    F: FnMut(char) -> boolF returns true for a char in string
    &&stris substring